0

私は多くの調査を行ってきましたが、PHP の配列から要素を削除する方法がわかりません。Java では、 がある場合ArrayList<SomeObject> list、 と言うでしょうlist.remove(someObject);

PHPでできる同様のことはありますか?が見つかりましunset($array[$index]);たが、動作していないようです。

事前にご協力いただきありがとうございます。

4

4 に答える 4

1

それを削除して空の配列を削除する必要があります。

function remove_empty($ar){
    $aar = array();
    while(list($key, $val) = each($ar)){
        if (is_array($val)){
            $val = remove_empty($val);
            if (count($val)!=0){
                $aar[$key] = $val;
            }
        }
        else {
            if (trim($val) != ""){
                $aar[$key] = $val;
            }
        }
    }
    unset($ar);
    return $aar;
}

remove_empty(array(1,2,3, '', 5)) は array(1,2,3,5) を返します

于 2013-02-14T13:16:09.583 に答える
1

unset($array[$index]);実際に動作します。
私が考えることができる唯一の問題は、この配列を反復する方法です。の代わりに
使用するだけですforeachfor

$index に正しい値が含まれていることも確認してください

使用できるアレイをテストするにはvar_dump()

$cars[0]="Volvo"; 
$cars[1]="BMW"; 
$cars[2]="Toyota"; 

unset($cars[0]);
var_dump($cars);
于 2013-02-14T13:08:41.597 に答える