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 が空でない限り)。

そして、etc の次のループ値で$_POST['miles21']etc.

ただし、実際には配列に何も追加されず、空の項目だけであるため、これは機能しません。上記を実行するための正しい構文を持っていないと思いますが、正しい方法がわかりません。

ありがとうございました

すべての $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 に答える