ساخت حلقه تو در تو آرایه با PHP
حلقه PHP تو در تو – با کمک این آموزش می توانید در تمامی اعضای آرایه پیمایش نمایید حتی اگر بیشتر از عمق 10 تا باشد . برای این کار از callback ها کمک می گیریم .
برای این کار از 2 تابع استفاده می کنیم که تابع اول با foreach در آرایه پیمایش می کند و اطلاعات عضو را به تابع دوم که callback مان می باشد پاس می دهد .
همچنین اگر بخواهیم که از حلقه بیرون بیاییم از loopbreak استفاده می کنیم .
سورس کد
<?php $GLOBALS['loopbreak'] = false; function nestedLoopArray($mArray, $callback) { if (is_array($mArray)) { $elements = $mArray; foreach ($elements as $key_element => $element) { if ($GLOBALS['loopbreak']) return; $callback($key_element, $element); } } } function indexer($key , $value){ if (is_array($value)) { nestedLoopArray($value , 'indexer'); }else{ if($value === "other") { $GLOBALS['loopbreak'] = true; return; } echo "{$key} : {$value}\n\n"; } } $data = [ [ "name" => "pezhman", "age" => 25, "child" => [ [ "name" => "mozhgan", "age" => 8, "child" => [] ] ] ], [ "name" => "paniz", "age" => 23, "child" => [ [ "name" => "khosro", "age" => 6, "child" => [] ] ] ], [ "name" => "other" ] ]; nestedLoopArray($data , 'indexer'); /* name : pezhman age : 25 name : mozhgan age : 8 name : paniz age : 23 name : khosro age : 6 */ ?>
ارسال نظر