ساخت حلقه تو در تو آرایه با PHP

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

*/

?>

ارسال نظر

جهت استفاده از کد حتما از تگ pre استفاده نمایید .

contact us