Я хочу использовать многомерный массив в разных functions.so я делаю его как глобальную переменную (массив) .i создал многомерный массив и сделал его глобальным для доступа в разных функциях. Как я могу получить значения из него, используя foreach loop? вот мой код
$test=array( array( "input1"=>"v1", "input2"=>"v2"), array( "input3"=>"v3", "input4"=>"v4") ); class testing { function testp() { global $test; foreach($test as $key => $value) { echo $value; } var_dump($test); echo is_array($test); } } $obj = new testing(); $obj->testp();
Я использовал is_array и var_dump
чтобы подтвердить, является ли его массив. все в порядке, и его игнорирование ошибок игнорируется . теперь, как я могу получить от него значения?
Это массив массивов, что работает для массива верхнего порядка, работает и дальше:
foreach($test as $key => $value) { foreach($value as $k => $v){ echo $v; } }
Это будет повторять ваши значения v1, v2, v3, v4 один за другим.
Более общий ответ:
public function visitArray($test) { foreach($test as $key=>$value) { if(is_array($value)) { visitArray($value); } else { echo $value; } } }
Не знаю, почему вы перебираете ключи и значения, если не принимать во внимание
Более простой и простой способ доступа к значениям массива в массиве.
foreach($test as $array_value){ if(is_array($array_value)) { foreach ($array_value as $value) { echo $value.'<br>'; } } }