-1

ループして各キーの値が空でないかどうかを確認し、空の値を含まない新しい配列を作成する配列があります。

項目 3 と項目 5 は空であるため、新しい配列にこれらの値を含めないでください。

<?php

   $arrayone = array("item1"=>"bat",
                  "item2"=>"ball",
                  "item3"=>"",
                  "item4"=>"hockey",
                  "item5"=>""); 

?>

次のループを試しましたが、未定義のオフセット エラーが発生しました。不足していることや間違っていることを教えてください。

ループ:

$c=0;
$newarray = array();
foreach ($arrayone as $key => $value) {
   if(!$value==""){
       $newarray[$c] .= $value;

   }
   $c++;
}

また、形成された新しい配列には、item1、item2、item3 の代わりにキー =>1、2、3 があります。

4

1 に答える 1

0

$newarray[$c] .= $value; 最初に空の $newarray[$c] に接続します

コードを変更して追加if(!isset($newarray[$c]))

<?php

$arrayone = array("item1"=>"bat","item2"=>"ball","item3"=>"","item4"=>"hockey","item5"=>""); 


$c=0;
$newarray = array();
foreach ($arrayone as $key => $value) {
    if(!$value==""){

        if(!isset($newarray[$c])) 
            $newarray[$c] = '';
        $newarray[$c] .= $value;

    }
    $c++;
}
于 2013-01-27T13:36:31.757 に答える