PHP හි පරාමිතියක් සමඟ පුනරාවර්තනය

පුනරාවර්තනය භාවිතා කරමින් අපි අරාවේ මූලද්‍රව්‍ය ක්‍රමයෙන් ප්‍රදර්ශනය කරමු. ආරම්භක අරාව ශ්‍රිතයේ පරාමිතියක් ලෙස යොමු කර ඇතැයි උපකල්පනය කරමු:

php<?php
  func([1, 2, 3]);
?>

පළමුව, පුනරාවර්තනය නොමැතිව array_shift ශ්‍රිතය භාවිතා කරමින් අරාවේ සියලුම මූලද්‍රව්‍ය පිළිවෙලින් ප්‍රදර්ශනය කරමු:

php<?php
  function func($arr) {
    var_dump(array_shift($arr)); // 1 ප්‍රදර්ශනය කරයි
    var_dump($arr); // [2, 3] ප්‍රදර්ශනය කරයි - අරාව කුඩා විය
    
    var_dump(array_shift($arr)); // 2 ප්‍රදර්ශනය කරයි
    var_dump($arr); // [3] ප්‍රදර්ශනය කරයි - අරාව කුඩා විය
    
    var_dump(array_shift($arr)); // 3 ප්‍රදර්ශනය කරයි
    var_dump($arr); // [] ප්‍රදර්ශනය කරයි - අරාව හිස් ය
  }
  
  func([1, 2, 3]);
?>

ඔබට පෙනෙන පරිදි, array_shift ශ්‍රිතය අරාවේ පළමු මූලද්‍රව්‍යය කපා ගෙන ආපසු ලබා දෙයි, මෙමගින් අරාව එම මූලද්‍රව්‍යයෙන් කුඩා වේ.

දැන් අපි පුනරාවර්තනය භාවිතා කරමු:

php<?php
  function func($arr) {
    var_dump(array_shift($arr));
    var_dump($arr);
    
    if (count($arr) !== 0) {
      func($arr);
    }
  }
  
  func([1, 2, 3]);
?>

ඇත්ත වශයෙන්ම, අරාවක මූලද්‍රව්‍ය හරස් කිරීමට පහසුම ක්‍රමය වන්නේ ලූපයක් භාවිතා කිරීමයි. ඉහත දක්වා ඇති උදාහරණ සරල උදාහරණ (ප්‍රායෝගික නොවන) මත පුනරාවර්තනයේ ක්‍රියාකාරිත්වය දක්වනු වෙනුවෙන් පමණි. පුනරාවර්තනය යෙදීමේ වඩාත් ප්‍රයෝජනවත් උදාහරණ සරලව වඩාත් සංකීර්ණ ය, අපි ඒවා ටිකක් පසුව විශ්ලේෂණය කරමු.

Задание 1

මෙම අරාව ලබා දී ඇත:

php<?php
  $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>

පුනරාවර්තනය භාවිතා කරමින් මෙම අරාවේ මූලද්‍රව්‍ය තිරය මත ප්‍රදර්ශනය කරන්න.