PHP හි අරාව පරිවර්තනය ප්රශස්තකරණය කිරීම
තන්තුවක් කඩා අරාවකට හරවා ගැනීම සැමවිටම අවශ්ය නොවනු ඇත.
අපි උදාහරණයක් බලමු.
පහත උදාහරණයේ, කේතයේ කතෘ තන්තුවේ
3 ඉලක්කම තිබේදැයි පරීක්ෂා කරයි:
<?php
$str = '12345';
$arr = explode('', $str); // අරාවකට කඩමු
if (in_array(3, $arr)) {
echo 'තිබේ';
} else {
echo 'නැත';
}
?>
කතෘ අණ්ඩුවේ - තමන්ගේම වැඩ කරන උපකරණ ලිවීම වෙනුවට PHP හි අතුළත් ශ්රිත භාවිතා කරයි.
නමුත් කේතය තවමත් ප්රශස්ත නොවේ: මෙහි
තන්තුව අරාවකට කඩා දැමීමට අවශ්ය නැත, මන්ද
තන්තුවක් තුළ සෙවීම සිදු කරන සූදානම් ශ්රිතය
strpos පවතී:
<?php
$str = '12345';
if (strpos($str, '3') !== false) {
echo 'තිබේ';
} else {
echo 'නැත';
}
?>
මෙහි අරාවකට කඩා දැමීම නරක ඇයි කියත්? මන්ද, පළමුව, අරාවකට කඩා දැමීම සඳහා ප්රශස්තකරණ ඒකකයේ සම්පත් වැය වන අතර, දෙවනුව, ලබාගත් අරාව ක්රියාකාරී මතකයේ ඉඩක් දරා සිටී (එය තන්තුව විසින් දරා සිටින ඉඩට වඩා වැඩි වනු ඇත).
අදහස: එය නොකිරීමේ ක්රමයක් තිබේ නම්, තන්තුව අරාවකට කඩා නොදමන්න.
පහත කේතයේ, යම් ක්රමලේඛකයෙක් තන්තුවක අක්ෂර ආපසු හරවා ඇත. මෙම ක්රමලේඛකයාගේ විසඳුම ප්රශස්ත කරන්න:
<?php
$str = '12345';
$rev = implode('', array_reverse(explode('', $str)));
echo $rev; // '54321' ප්රතිදානය කරයි
?>
පහත කේතයේ, යමෙක් පෙළක ඇති වචන සංඛ්යාව සොයයි. මෙම ක්රමලේඛකයාගේ විසඳුම ප්රශස්ත කරන්න:
<?php
$str = 'aaa bbb ccc'; // යම් දිගු තන්තුවක්
echo count(explode(' ', $str));
?>