Подтвердить что ты не робот

Как получить одно значение из этого многомерного массива PHP

Пример print_r($myarray)

Array
(
    [0] => Array
    (
        [id] => 6578765
        [name] => John Smith
        [first_name] => John
        [last_name] => Smith
        [link] => http://www.example.com
        [gender] => male
        [email] => [email protected]
        [timezone] => 8
        [updated_time] => 2010-12-07T21:02:21+0000
    )
)

Вопрос, как получить $myarray в одном значении, например:

echo $myarray['email'];  will show [email protected]
4b9b3361

Ответ 1

Посмотрите на клавиши и отступы в print_r:

echo $myarray[0]['email'];

echo $myarray[0]['gender'];

... и т.д.

Ответ 2

Используйте функцию array_shift function

$myarray = array_shift($myarray);

Это переместит элементы массива на один уровень вверх, и вы можете получить доступ к любому элементу массива, не используя клавишу [0]

echo $myarray['email'];  

покажет [email protected]

Ответ 3

Я думаю, вы этого хотите:

foreach ($myarray as $key => $value) {
    echo "$key = $value\n";
}

Ответ 4

Вы также можете использовать array_column(). Доступно в PHP 5.5: php.net/manual/en/function.array-column.php

Возвращает значения из одного столбца массива, идентифицированного ключом column_key. При желании вы можете предоставить index_key для индексации значений в возвращаемом массиве по значениям из столбца index_key во входном массиве.

print_r(array_column($myarray, 'email'));

Ответ 5

Первый элемент $myarray - это массив требуемых значений. Итак, прямо сейчас,

echo $myarray[0]['email']; // This outputs '[email protected]'

Если вы хотите, чтобы этот массив стал $myarray, вам просто нужно сделать

$myarray = $myarray[0];

Теперь $myarray['email'] и т.д. будет выводиться как ожидалось.

Ответ 6

foreach ($newarray as $key => $val) {
    echo "$key = $val\n";
}

Ответ 7

echo $myarray[0]->['email'];

Попробуйте это, только если вы проходите stdclass object