Как перебрать этот массив? - PullRequest
0 голосов
/ 26 октября 2019

У меня есть этот массив, где первые два элемента являются целыми числами, а третий элемент является другим массивом, содержащим 2 массива, каждый с одним элементом. Я могу циклически пройти через первые 2 элемента, но не третий элемент.

Я попытался использовать второй цикл foreach, а также цикл for, содержащий цикл foreach.

$rows  =  array(1, 2, "qa" => array("q" => array(1,2), "b" => array(3,4)));
$f=1;

foreach($rows as $r) {
   if($f == 1){
      $e = $rows[0];
      $f=$f+1;
   }
   if($f == 2){
      $u = $rows[1];
   }
   if($r == "qa"){
      $c = $value["q"];
      $d = $value["b"];

   }    
} 

echo $e;
echo $u;
print_r($c);
print_r($d);

Ответы [ 2 ]

0 голосов
/ 26 октября 2019

Вы можете использовать array_walk_recursive

array_walk_recursive($rows, function($v){echo $v;});

DEMO: https://3v4l.org/ITXAu

0 голосов
/ 26 октября 2019

Надеюсь, это поможет:

$rows  =  array(1, 2, "qa" => array("q" => array(1,2), "b" => array(3,4)));
view($rows);
function view($arr) {
    foreach ($arr as $value) {
        if (is_array($value))
            view($value);
        else
            echo $value;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...