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'];