我正在尝试读取一个数组以保存一些值,但它不起作用!这是我的代码:
$array=$_POST['idprod'];//I get my array and save it on a var
print_r($array); //It has ALL the data (I use a print_r($array); And YES!! It has the information i need)
$ids[]=explode(',',$array);//Substring to my var
for( $contador=0; $contador <count($ids); $contador++ )
{
echo $ids[$contador].'<br/>';
}
它显示了Array to string conversion in...
我该怎么办?
答案 0 :(得分:2)
使用foreach而不是循环 foreach构造提供了一种迭代数组的简单方法。 foreach仅适用于数组和对象,并且当您尝试在具有不同数据类型或未初始化变量的变量上使用它时将发出错误。有两种语法:
foreach (array_expression as $value)
statement
foreach (array_expression as $key => $value)
statement
foreach ($array => $var ) {
// do any thing
}
替换
$ids[]=explode(',',$array);//Substring to my var
for( $contador=0; $contador <count($ids); $contador++ ) {
echo $ids[$contador].'<br/>';
并设置
$ids = explode(',',$array);
foreach($ids as $id) {
echo $id ."<br>";
}
答案 1 :(得分:0)
如果传入的数据是逗号分隔的字符串,则只需要爆炸()。
$string = $_POST['idprod'];
$array= explode(',', $string); // split the comma separated values into an array
for($i=0; $i<count($array); $i++)
{
echo $array[$i] . '<br/>';
}
否则你可以直接使用传入的数组:
$array = $_POST['idprod'];
for($i=0; $i<count($array); $i++)
{
echo $array[$i] . '<br/>';
}