Как получить одно значение из массива 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@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