Php 如何从该数组中提取值?

Php 如何从该数组中提取值?,php,multidimensional-array,Php,Multidimensional Array,当我尝试 Array ( [status] => success [stories] => Array ( [0] => Array ( [name] => John Doe [age] => 23) [1] => Array ( [name] => John Doe_1

当我尝试

Array ( [status] => success 
        [stories] => Array ( 
              [0] => Array ( [name] => John Doe 
                             [age] => 23)
              [1] => Array ( [name] => John Doe_1
                             [age] => 23)
              [2] => Array ( [name] => John Doe_2
                             [age] => 23)
       )
)    
它返回一个错误

更新:我正试图从Tweetmeme中找出最新的故事。由于json输出很长,我缩短了它。:)

PHP代码:

foreach($stories as $story){ }
for($i=0;$i

应该可以了。

不确定它会返回什么错误,但您试过了吗

for ($i = 0; $i < count($array1['abc']); $i++)
{
    $current = $array1['abc'][$i];
}

相反?

您也可以这样做:

foreach($stories['abc'] as $story){ 
}
foreach($stories作为$story){
if(is_数组($story)){
foreach($story作为$person){
打印“{$person['name']},{$person['age']}
”; } } }

如果包含子数组的键发生更改,或者如果您的数据将有多个子数组且其中包含数据,则这将为您提供一点灵活性。

是否需要引用包含该数组的变量?类似于foreach($json.stories as$story).

试试看

foreach($stories as $story) {
    if(is_array($story)) {
        foreach($story as $person) {
            print "{$person['name']}, {$person['age']}<br />";
        }
    }
}
foreach($story,无论您如何命名) {


}

您只是忘记初始化变量$data。请在for循环之前包括此行:

foreach ($data AS $story){
    if(is_array($story)) {
        foreach($story as $person) {
            print_r($person);
        }
    }
}

请记住,json_解码本身不会创建局部变量

我在这个问题上犯了一个错误。它是“故事”而不是“abc”。更正:)错误是“为…中的foreach()提供的参数无效”。您尝试从$stories读取,但从未定义它:-?明白了。正确的语句应该是foreach($data[stories]as$story){}谢谢大家的帮助。马克和阿尔瓦罗,你们救了我的命:)这听起来好像传递给foreach循环的任何变量都不是真正的数组。发布更多代码可能会有所帮助。你能发布生成数组的代码吗?代码太大了,所以我缩短了它。无论如何,我将尝试发布代码。我正在从Tweetmeme中提取最近的故事列表。我认为问题在于,您的foreach()循环使用变量$Stories,但您似乎正在将JSON数据解码为变量$data。
foreach ($data AS $story){
    if(is_array($story)) {
        foreach($story as $person) {
            print_r($person);
        }
    }
}
$stories = $data['stories'];