【发布时间】:2014-04-18 15:09:08
【问题描述】:
好的,所以我早些时候发布了这个问题,但仍然没有答案。不过,我很感激这些尝试。
Foreach loop not outputting arrays as expected
我已尝试缩小范围。我需要知道使用explode 从字符串创建的数组是否在某种程度上不同于$foo = array(.....) 指定的数组。拿这个代码
$category_array = array('Pulmonary sarcoidosis', 'Acute critical care', 'Congenital lung disease');
foreach($category_array as $category){
$result = Thread_category::find_all_by_category($category);
foreach ($result as $result_array){
echo $result_array->thread_id;
echo "<br/>";
}
}
?>
产量:
145 146 149 151
144 148 150 151
145 147 148 149 151
这是正确的。但是创建的数组如下...
$category_array = explode(",", $thread->category);
当输出时给出
Array([0] => 肺结节病 [1] => 急性重症监护 [2] => 先天性肺病)
但是当通过 foreach 循环时...
145 146 149 151
它在第一个循环之后停止......
不知道为什么,花了好几个小时输出所有内容.....
我知道这里有代码我没有解释,但我认为问题必须发生在爆炸级别......请帮助!
【问题讨论】:
-
请不要转发问题。
-
您确定您的类别数组没有前导/尾随空格以及逗号?也许试试
$category_array = array_map('trim', explode(",", $thread->category));