PHP හි පරාමිතියක් සමඟ පුනරාවර්තනය
පුනරාවර්තනය භාවිතා කරමින් අපි අරාවේ මූලද්රව්ය ක්රමයෙන් ප්රදර්ශනය කරමු. ආරම්භක අරාව ශ්රිතයේ පරාමිතියක් ලෙස යොමු කර ඇතැයි උපකල්පනය කරමු:
<?php
func([1, 2, 3]);
?>
පළමුව, පුනරාවර්තනය නොමැතිව
array_shift
ශ්රිතය භාවිතා කරමින් අරාවේ සියලුම මූලද්රව්ය
පිළිවෙලින් ප්රදර්ශනය කරමු:
<?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
function func($arr) {
var_dump(array_shift($arr));
var_dump($arr);
if (count($arr) !== 0) {
func($arr);
}
}
func([1, 2, 3]);
?>
ඇත්ත වශයෙන්ම, අරාවක මූලද්රව්ය හරස් කිරීමට පහසුම ක්රමය වන්නේ ලූපයක් භාවිතා කිරීමයි. ඉහත දක්වා ඇති උදාහරණ සරල උදාහරණ (ප්රායෝගික නොවන) මත පුනරාවර්තනයේ ක්රියාකාරිත්වය දක්වනු වෙනුවෙන් පමණි. පුනරාවර්තනය යෙදීමේ වඩාත් ප්රයෝජනවත් උදාහරණ සරලව වඩාත් සංකීර්ණ ය, අපි ඒවා ටිකක් පසුව විශ්ලේෂණය කරමු.
මෙම අරාව ලබා දී ඇත:
<?php
$arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5];
?>
පුනරාවර්තනය භාවිතා කරමින් මෙම අරාවේ මූලද්රව්ය තිරය මත ප්රදර්ශනය කරන්න.