【发布时间】:2011-08-14 12:04:43
【问题描述】:
我之前已经做过一千次了,但由于某种原因,我无法使用它们的索引/键访问数组条目。我唯一不同的是从文件中读取 json,然后使用 json_decode 填充这个特定的对象数组。当我使用 foreach 循环时,我得到了 $post 和 $key,但是当我使用 key 通过 $posts[$key] 访问原始数组中的相同值时,它什么也不返回。我需要取消设置一些特定的条目并通过引用传递也没有帮助。下面是代码:
$contents = fread($fh, filesize($filepath));
fclose( $fh );
$posts = (array)json_decode($contents);
foreach( $posts as $key => &$post ){
$post_time = strtotime($post->post_date);
$now = strtotime('now');
if( ($now - $post_time) > 86400 ){
unset($posts[$key]);
}
}
【问题讨论】:
-
print_r($posts)返回什么? -
用
print_r($posts)检查结构并尝试json_decode($contents, true)。 -
` ₄ ₄ ₄ ₄
-
我在把代码放在这里之前删除了几个 print_r($posts)...一切都很好...就像我提到的,在 foreach 中,我得到 $key 和 $post,只有当我尝试将 $key 与 $posts 一起使用,在这种情况下取消设置,我什么也得不到。
-
json_decode($contents, true) 成功了...我应该检查手册...将其类型转换为数组似乎对我有用,但显然它有问题。非常感谢队友:)