如何从PHP数组中获取单个值

示例$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
wow asked 2019-10-08T05:33:13Z
6个解决方案
94 votes

查看print_r中的键和缩进:

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

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

...等等

Dan Grossman answered 2019-10-08T05:33:30Z
39 votes

使用[0]函数

$myarray = array_shift($myarray);

这会将数组元素上移一个级别,您无需使用[0]键就可以访问任何数组元素

echo $myarray['email'];  

将显示email@domain.com

Virendra Yadav answered 2019-10-08T05:34:10Z
19 votes

我想你想要这个:

foreach ($myarray as $key => $value) {
    echo "$key = $value\n";
}
Mike Axiak answered 2019-10-08T05:34:35Z
3 votes

您也可以使用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'));
Francesco Casula answered 2019-10-08T05:35:06Z
1 votes

$myarray['email']的第一个元素是所需的值数组。 所以,现在,

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

如果您希望该阵列变为$myarray['email'],则只需要做

$myarray = $myarray[0];

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

v64 answered 2019-10-08T05:35:46Z
1 votes
echo $myarray[0]->['email'];

仅当您通过stdclass object时才尝试此操作

Masad Ashraf answered 2019-10-08T05:36:10Z
translate from https://stackoverflow.com:/questions/4383914/how-to-get-single-value-from-php-array