Bei PHP-Array-Operationen stoßen wir häufig auf das Vorhandensein von Nullwerten im Array, was sich normalerweise auf nachfolgende Datenverarbeitungsvorgänge auswirkt. Daher ist es erforderlich, die Nullwerte im Array zu ersetzen (leere Zeichenfolge, falsch). , null usw.) Löschen Sie es. In diesem Artikel wird erläutert, wie leere Arrays in zweidimensionalen Arrays gelöscht werden.
In PHP können Sie die Funktion array_filter verwenden, um leere Werte in einem Array zu löschen. Diese Funktion kann zwei Parameter akzeptieren. Der erste Parameter stellt das zu filternde Array dar und der zweite Parameter stellt die zu verwendende Rückruffunktion dar. Die Rückruffunktion kann angeben, welche Werte herausgefiltert werden sollen. Wenn wir beispielsweise leere Zeichenfolgen und falsch herausfiltern möchten, können wir die Rückruffunktion wie folgt definieren:
function my_callback($value){ return $value !== '' && $value !== false; }
wobei $value jeden darstellt Element im Array, verwenden Sie != Der =-Operator bestimmt, ob die Bedingung erfüllt ist. Verwenden Sie dann die Funktion array_filter, um das Array zu filtern:
$arr = array('a', '', 'b', false, null); $new_arr = array_filter($arr, 'my_callback'); print_r($new_arr);
Das Ausgabeergebnis ist:
Array ( [0] => a [2] => b )
Wie Sie sehen können, werden leere Zeichenfolgen und falsch herausgefiltert. Aber wenn wir es mit zweidimensionalen Arrays zu tun haben, wird es etwas komplizierter.
Betrachten Sie das folgende zweidimensionale Array:
$arr = array( array('a', '', 'b'), array('c', false, null), array('', 'd', 'e') );
Unser Ziel ist es, das leere Array daraus zu löschen. Mit der Funktion array_filter können Sie die Filterbedingungen in der folgenden Form schreiben:
function my_callback($row){ return array_filter($row, function($value){ return $value !== '' && $value !== false; }); }
wobei $row jede Zeile im zweidimensionalen Array darstellt, verwenden Sie array_filter, um die Elemente jeder Zeile zu filtern, und dann das Ergebnis zurückgeben.
Wir können dann die Funktion array_map verwenden, um diese Rückruffunktion auf jede Zeile im zweidimensionalen Array anzuwenden:
$new_arr = array_map('my_callback', $arr); print_r($new_arr);
Die Ausgabe ist:
Array ( [0] => Array ( [0] => a [2] => b ) [1] => Array ( [0] => c ) [2] => Array ( [1] => d [2] => e ) )
$new_arr = array_map('my_callback', $arr); $new_arr = array_map('array_values', $new_arr); print_r($new_arr);
Array ( [0] => Array ( [0] => a [1] => b ) [1] => Array ( [0] => c ) [2] => Array ( [0] => d [1] => e ) )
Das obige ist der detaillierte Inhalt vonSo löschen Sie leere Arrays in zweidimensionalen Arrays in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!