開発中、1次元配列を処理して空のフィールドを削除することは一般的な要件です。この記事では、PHPの組み込み関数を使用して配列内の空のフィールドをすばやく削除する方法を紹介します。
1次元配列を定義し、そこから空の要素を削除する方法を示すための簡単な例から始めましょう。
$arr = array('a', '', 'c', null);
$res = array_filter($arr);
この例では、配列「$ arr」には4つの要素が含まれています。この要素(空の文字列( `''`)と「null」が空の要素です。 `array_filter`関数を介して、これらの空の要素を削除することができ、結果は「$ res」に保存されます。次に、「var_dump」を介して「$ res」を出力して、処理された配列を表示できます。
var_dump($res);
出力の結果は次のとおりです。
array(2) {
[0] =>
string(1) "a"
[2] =>
string(1) "c"
}
ご覧のとおり、結果配列は空でない要素のみ、空の文字列、「null」のみが削除されます。
PHPの `array_filter`関数は、コールバック関数を渡すこともサポートして、特定の条件に基づいて配列要素をフィルタリングします。カスタム削除条件の例は次のとおりです。配列内の要素を0以下に削除するコールバック関数を書き込みます。
function is_positive($var) {
return $var > 0;
}
$arr = array(-1, 2, 3, 0, -4, 5, 6);
$res = array_filter($arr, 'is_positive');
この例では、「is_positive」というコールバック関数を定義して、各要素が0より大きいかどうかを確認します。「array_filter」関数の2番目のパラメーターをコールバック関数に渡すと、基準を満たさない要素をフィルタリングできます。 `var_dump`経由で` $ res`を出力します。
var_dump($res);
出力の結果は次のとおりです。
array(4) {
[1] =>
int(2)
[2] =>
int(3)
[5] =>
int(5)
[6] =>
int(6)
}
ご覧のとおり、アレイ内の負の数と0は正常に除去され、結果として正の数のみが保持されました。
この記事では、PHPで1次元配列の空のフィールドを削除する2つの一般的な方法を紹介します。「array_filter`関数を使用して、空の要素を直接削除し、カスタムコールバック関数を介して配列をフィルターします。これら2つの方法を通じて、開発者は配列データを柔軟に処理して、清潔で整頓されていることを確認できます。