ساخت حلقه تو در تو آرایه با 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
*/
?>
ارسال نظر