Пример 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@domain.com [timezone] => 8 [updated_time] => 2010-12-07T21:02:21+0000 ) )
Вопрос: как получить $myarray
в одном значении, например:
echo $myarray['email']; will show email@domain.com
Посмотрите на клавиши и отступы в print_r
:
echo $myarray[0]['email']; echo $myarray[0]['gender'];
…и т.д
Использовать функцию array_shift
$myarray = array_shift($myarray);
Это приведет к перемещению элементов массива на один уровень вверх, и вы сможете получить доступ к любому элементу массива без использования клавиши [0]
echo $myarray['email'];
покажет email@domain.com
Я думаю, вы этого хотите:
foreach ($myarray as $key => $value) { echo "$key = $value\n"; }
Первый элемент $myarray
– это массив значений, которые вы хотите. Итак, прямо сейчас,
echo $myarray[0]['email']; // This outputs 'email@domain.com'
Если вы хотите, чтобы этот массив стал $myarray
, тогда вам просто нужно сделать
$myarray = $myarray[0];
Теперь, $myarray['email']
и т. Д. Будет выводиться, как ожидалось.
Вы также можете использовать 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'));
foreach ($newarray as $key => $val) { echo "$key = $val\n"; }
echo $myarray[0]->['email'];
Попробуйте это, только если вы stdclass object