我有一个索引数组,我使用此代码
从关联数组生成$index_arr = array();
foreach($assoc_arr as $key => $val ){
$index_arr .= $val;
}
当我用print_r($index_arr);
打印时,它工作正常。但是当我尝试用foreach打印它时,我收到错误“为foreach()提供的无效参数”
foreach($index_arr as $one){
echo "one: $one<br />";
}
我很确定这是正确的语法,还是我在一天的这个时候太累了?
答案 0 :(得分:5)
使用。=运算符将数组转换为字符串。你想使用:
$index_arr[] = $val;
追加到最后。
同样在这种特殊情况下,您可以这样做:
$index_arr = array_values($assoc_arr);
这正是你的循环所做的。
答案 1 :(得分:2)
需要这样:
$index_arr = array();
foreach($assoc_arr as $key => $val ){
$index_arr[] = $val;
}
另外
foreach($index_arr as $key=>$data){
echo "Key: ".$key." Data: ".$data."<br />";
}
答案 2 :(得分:2)
你做$index_arr .= $val;
PHP做了一个字符串操作。您需要执行$index_arr[]=$val;
答案 3 :(得分:1)
$index_arr .= $val;
应该是
$index_arr[] = $val;