Как получить ключи и значение из массива в массиве с php - PullRequest
2 голосов
/ 25 мая 2020

print_r($top5) дает мне такой массив:

Array ( 
    [title1] => Array ( 
                [id_1] => 4 
                )
    [title2] => Array ( 
                [id_2] => 5 
                ) 
    [title3] => Array ( 
                [id_3] => 8 
                ) 
    [title4] => Array ( 
                [id_4] => 3 
                ) 
    [title5] => Array ( 
                [id_5] => 2 
                ) 
    )

Я хочу произвести вывод в foreach l oop, где мне нужны все значения этого массива:

<a href="page=?"<?php echo $id; ?>"><?php echo $title.' '.$number; ?> 

$top5 - это массив, и когда я использую foreach, как показано ниже:

foreach($top5 as $key => $val) {
    echo $key // outputs the name of title
    echo $val // outputs nothing;
             // i need to output the id and number as well, belonging to each title

}

Ответы [ 2 ]

2 голосов
/ 25 мая 2020

Существуют функции для их получения, если есть только один элемент или он всегда будет первым:

foreach($top5 as $key => $val) {
    echo $key;
    echo key($val);
    echo current($val);  //can also use reset()
}

Вы также можете использовать ключ id:

foreach($top5 as $key => $val) {
    echo $key;
    echo $id = key($val);
    echo $val[$id];
}
2 голосов
/ 25 мая 2020

Вы можете сделать что-то вроде этого, либо указав на массив, либо получив ключ по первому ключу:

   foreach($top5 as $title => $ids) {
       echo $title;
       echo current($ids); // By array pointer
       echo $ids[array_keys($ids)[0]]; // By first key
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...