Php,如何从多维数组抓取数据



我有一个像这样的数组:

foreach($obj as $key => $value)
{
print_r ($obj);
}
Array
(
[id] => 24991526504444
[name] => 21test
[picture] => http://profile.ak.fbcdn.net/hprofile-ak-sn4/276505_2499152255_s.jpg
[link] => http://apps.facebook.com/test/vote=6189373
[likes] => 1
[category] => Website
[parking] => Array
    (
        [street] => 0
        [lot] => 0
        [valet] => 0
    )
[payment_options] => Array
    (
        [cash_only] => 0
        [visa] => 0
        [amex] => 0
        [mastercard] => 0
        [discover] => 0
    )
)

我如何从这个数组中获得数据,例如idlikes

我已经尝试了echo $key['likes']echo $key[$value['likes']]和更多的组合,它不工作

任何想法?由于

$key不是你的数组,$obj是你的数组。您应该使用$obj['likes']$obj['parking']['street']。您不必枚举键来访问对象中的键/值,只需使用$obj

另外,你的foreach也没有意义:

foreach($obj as $key => $value)
{
    print_r ($obj);
}

表示"对于数组中的每个键,打印整个数组"。您根本不需要循环,print_r的全部目的是递归地为您打印数组的内容,而不需要循环。只使用

print_r($obj);

请阅读数组手册

访问数组不需要循环。您可以简单地使用
$obj['id']$obj['likes']

按此:

foreach($obj as $key => $value)
{
print_r ($obj);
}

您所显示的数组实际上是$obj的完整结构,而不是它的任何键=>值对。

所以你只需要:

echo $obj['likes'];
echo $obj['id'];

如果你使用foreach,这意味着你在迭代数组元素,你应该使用

    $obj['likes']

应该返回数组的值(在你的例子中是1)。

对于多维

    $obj['payment_options']['cash_only']

应该返回值(在您的例子中是0)

相关内容

  • 没有找到相关文章

最新更新