如何从这个多维 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@example.com
[timezone] => 8
[updated_time] => 2010-12-07T21:02:21+0000
)
)

问题,如何获得单个值的 $myarray,比如:

echo $myarray['email'];  will show email@example.com
435136 次浏览

我觉得你想要这个:

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

看看 print_r中的键和缩进:

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


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

等等

$myarray的第一个元素是所需的值数组,

echo $myarray[0]['email']; // This outputs 'email@example.com'

如果你想让这个数组变成 $myarray那么你只需要

$myarray = $myarray[0];

现在,$myarray['email']等将按预期输出。

使用 array_shift函数

$myarray = array_shift($myarray);

这将使数组元素向上移动一级,您可以不使用 [0]键访问任何数组元素

echo $myarray['email'];

将显示 email@example.com

你也可以使用 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'));
echo $myarray[0]->['email'];

只有当你通过 stdclass object的时候才试试这个