如何从php数组中获得单个值

例子print_r($myarray)

 Array ( [0] => Array ( [id] => 6578765 [name] => John Smith [first_name] => John [last_name] => Smith [link] => http://www.domain.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 
 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,以便通过input数组中index_key列的值为返回数组中的值build立索引。

 print_r(array_column($myarray, 'email')); 
 foreach ($newarray as $key => $val) { echo "$key = $val\n"; } 
 echo $myarray[0]->['email']; 

只有在您传递stdclass object才试试这个