0

我有下面的 foreach 循环

$i = 1;
    $array = array();
    foreach ($titles as $title){
        if (empty($title) ){
            echo "EMPTY " .$i ;
        }else{
            array_push($array, $_POST['miles'.$i.'1']);
        }
        $i++;
    }

该行array_push($array, $_POST['miles'.$i.'1']);应将第一个循环的值添加到数组中$_POST['miles11'](只要 $title 不为空)。

然后在等的下一个循环值$_POST['miles21']等。

然而,这不起作用,因为实际上没有任何东西被添加到数组中,只是一个空项目。我假设我没有正确的语法来执行上述操作,但我不确定正确的方法是什么。

谢谢

例子

如果所有 $titles 都不为空,则数组如下所示:

 Array ( [0] => [1] => [2] => [3] => [4] => [5] => [6] => ) 

如果有些是空的,我们会得到例如:

EMPTY 1EMPTY 3EMPTY 5EMPTY 7Array ( [0] => [1] => [2] => ) 
4

2 回答 2

0
array_push($array, $_POST['miles'.$i.'1']);

实际上需要

array_push($array, $_POST['miles1'.$i]);

再次查看我的 $_POST 后

于 2013-09-04T19:08:45.840 回答
0
$i = 1;
$data['miles21'] = 'aku';
$titles= array(0=>'1',1=>'2',3=>'3',4=>'4',5=>'5',6=>'6');
$array = array();
foreach ($titles as $title){
    if (empty($title) ){
        echo "EMPTY " .$i ;
    }else{
        array_push($array, $data['miles'.$i.'1']);
    }
    var_dump($data['miles'.$i.'1']);
    $i++;
}
var_dump($array);

我试试这段代码,数据 $array 将在索引 1 中有数据“aku”......

仔细检查 var_dump($title)、var_dump($_POST['miles'.$i.'1']) 等...

于 2013-09-04T19:13:41.287 回答