PHP array_walk() 函数

ຄວາມພາບ

ນຳໃຊ້ຫຼັກການພາສາທີ່ຕ້ອງການສ້າງຕໍ່ແຕ່ແຕ່ກຸ່ມຂອງຫຼັກການ:

<?php
function myfunction($value,$key)
{
echo "The key $key has the value $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
?>

ຫົວຂໍ້ການດຳເນີນຄະນະ

ການອະທິບາຍ ແລະ ການນຳໃຊ້

ຫຼັກການ array_walk() ຈະນຳໃຊ້ຫຼັກການພາສາທີ່ຕ້ອງການສ້າງຕໍ່ແຕ່ແຕ່ກຸ່ມຂອງຫຼັກການ. ໃນຫຼັກການພາສາ, ຄຳກວນຫຼັກການ ແລະ ຄູ່ມືຄວາມພາບແມ່ນຄວາມພາບ.

ໝາຍ:ທ່ານສາມາດຕິດຕັ້ງຄວາມພາບທີໜຶ່ງຂອງຫຼັກການພາສາທີ່ຕ້ອງການສ້າງໃຫ້ເປັນການຫຼອກລະບຽບ &$value, ເພື່ອປ່ຽນຄູ່ມືຄວາມພາບຂອງຫຼັກການ (ກໍານົດຫຼັກການຄືນ 2).

ຂໍ້ສັງເກດ:ຖ້າທ່ານຕ້ອງການດຳເນີນງານຫຼັກການຂັ້ນວົງໄວ້ຫຼາຍຫຼັກການ (ຫຼັກການໄວ້ຢູ່ໃນຫຼັກການອື່ນໆ), ຂໍ້ສັງເກດຈະຕ້ອງການສ້າງ. array_walk_recursive() ຫຼັກການ.

ຄຳເຕັກນິກ

array_walk(array,myfunction,userdata...)
ຄວາມພາບ ອະທິບາຍ
array ສະເພາະ. ກໍານົດຫຼັກການ.
myfunction ສະເພາະ. ກໍານົດຫຼັກການພາສາທີ່ຕ້ອງການ.
userdata,... ທາງປະຈຳຕົວເລື່ອງ. ກໍານົດຫຼັກການພາສາທີ່ຕ້ອງການສ້າງດ້ວຍຄວາມພາບ. ທ່ານສາມາດສົ່ງຫຼັກການພາສາຫຼາຍຫຼັກການຄືນຫຼັງຈາກຄວາມພາບ.

ອະທິບາຍ

ຫຼັກການ array_walk() ຈະນຳໃຊ້ຫຼັກການຫຼອກລະບຽບຕໍ່ແຕ່ກຸ່ມຂອງຫຼັກການ. ຖ້າປະສົບຜົນຢ່າງມີສຳພັນຈະກັບຄືນ TRUE, ບໍ່ມີສຳພັນຈະກັບຄືນ FALSE.

ພາຍໃນການດຳເນີນງານທົ່ວໄປ myfunction ຍິນຍອມຮັບສອງຄວາມພາບ.array ຄູ່ມືຄວາມພາບຈະຖືກສົ່ງຫຼັງຈາກຄຳກວນຫຼັກການຫຼອກລະບຽບທີສອງ. ຖ້າມີຄວາມພາບທາງປະຈຳຕົວເລື່ອງ userdata ,ຈະຖືກສົ່ງຫາຫຼັກການຫຼອກລະບຽບຫຼັງຈາກຫຼັກການຫຼອກລະບຽບທີສາມ.

ຖ້າ myfunction ທີ່ຕ້ອງການຂອງຫົວຂໍ້ບູລິບບອບຈະຫຼາຍກວ່າຂອບຂອງຫົວຂໍ້ບູລິບບອບທີ່ມູນຄ່າ, ທຸກຄັ້ງທີ່ມີການຂໍ້ມູນຄ່າ array_walk() ຈະມີການກັບຄືນກັບ FALSE. myfunction ທີ່ຈະມີການສ້າງຂໍ້ບອກອັນຕໍ່ມາສະເພາະ E_WARNING.

ໝາຍ:ຖ້າການໂຕ້ກັບວິທະຍາອອກຕ້ອງການສະແດງຄວາມລັບຄວາມລຽບຄວາມລຽບຂອງວິທະຍາອອກ, ຈະຕ້ອງການກໍານົດການເປັນການສະແດງຂອງການໂຕ້ກັບວິທະຍາອອກຂອງການບໍ່ຮັບຮູ້ (&$value). (ບອກກັບຕົວຢ່າງ 3)

ໝາຍ:ຕາມຄຳນັກພາສາ: userdata ສົ່ງໄປ myfunction ເປັນສິ່ງທີ່ມີຂື້ນໃນ PHP 4.0.

ຂໍ້ມູນດ້ານເຕັກນິກ

ຄືນມູນຄ່າກັບ: ຖ້າສຳເລັດຈະກັບຄື TRUE, ບໍ່ສຳເລັດຈະກັບຄື FALSE.
PHP Version: 4+

ຕົວຢ່າງຫຼາຍກວ່າ

ຕົວຢ່າງ 1

ການປະກາດຄຳຕັດສິນ:

<?php
function myfunction($value,$key,$p)
{
echo "$key $p $value<br>";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction","has the value");
?>

ຫົວຂໍ້ການດຳເນີນຄະນະ

ຕົວຢ່າງ 2

ປ່ຽນຄຸນນະພາບຂອງຫົວຂໍ້ອຸປະກອນຂອງວິທະຍາອອກ (ລະເບີດ &$value):

<?php
function myfunction(&$value,$key)
{
$value="yellow";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction");
print_r($a);
?>

ຫົວຂໍ້ການດຳເນີນຄະນະ