Я новичок в PHP, и у меня возникла проблема с массивами. скажем, у меня есть многомерный ассоциативный массив под названием $ charsarray, например:
[1] => ([name] => mickey [surname] => mouse)
[2] => ([name] => donald [surname] => duck)
...
[N] => (...)
Мне нужно извлечь поле «фамилия» каждой записи, чтобы в моем коде был вложенный foreach:
foreach($charsarray as $key => $value )
{
foreach($value => $singlechar)
{
echo $singlechar
}
}
Это выводит как микки, мышь, Дональд, утка, так и значения ассоциативного массива.
Если я хочу извлечь только фамилии, я могу написать оператор if для проверки ключевой фамилии.
Есть ли лучший подход к этому без использования оператора if?






Вам не нужно перебирать все в цикле. Вы можете просто сослаться на конкретное значение в массиве, используя правильный индекс (фамилию).
foreach($charsarray as $key => $value )
{
echo $value['surname']
}
Фамилия также является ключом в этом массиве, поэтому вам нужно распечатать, как показано ниже
foreach($charsarray as $key => $val){
echo $val['surname'];
}
Проклятие ! Я делал то же самое, но ВНУТРИ второго цикла foreach, поэтому я получал только первый символ каждой записи: MMDD. Теперь я понял, спасибо.