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

时间:2010-12-08 03:31:52

标签: php arrays

示例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

6 个答案:

答案 0 :(得分:97)

查看print_r

中的键和缩进
echo $myarray[0]['email'];

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

...等

答案 1 :(得分:40)

使用array_shift功能

$myarray = array_shift($myarray);

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

echo $myarray['email'];  

将显示email@domain.com

答案 2 :(得分:21)

我想你想要这个:

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

答案 3 :(得分:4)

您也可以使用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'));

答案 4 :(得分:1)

$myarray的第一个元素是您想要的值数组。所以,现在,

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

如果您希望该数组成为$myarray,那么您只需要执行

$myarray = $myarray[0];

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

答案 5 :(得分:1)

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

只有在您通过stdclass object

时才尝试此操作