ホームページ > バックエンド開発 > PHPの問題 > PHPの配列から0の値を削除する方法(3つの方法)

PHPの配列から0の値を削除する方法(3つの方法)

PHPz
リリース: 2023-04-04 17:12:01
オリジナル
2395 人が閲覧しました

PHP 開発では、配列を処理する必要があることがよくあります。場合によっては、配列から 0 の値を削除する必要があるかもしれません。この場合、いくつかの組み込み PHP 関数を使用して 0 値を削除できます。

PHP には、配列から 0 の値を削除するための関数 (array_filter、array_diff、array_unique など) が複数用意されており、これらの関数の使用方法について説明します。

1. Array_filter 関数:

PHP の array_filter 関数は、他の値を変更せずに、配列から空の値、false、0、null を削除できます。関数は次のように使用されます。 :

$nums = [1, 0, '2', false, '', 3, null, 4];
$result = array_filter($nums);    
print_r($result);
ログイン後にコピー

配列 $nums には、数値、文字列、ブール値、null など、複数のタイプの値が含まれています。array_filter 関数を使用して処理し、空の値、false、0、null をすべて削除できます。値。配列から削除します。上記のコードの結果は次のようになります:

Array
(
    [0] => 1
    [2] => 2
    [5] => 3
    [7] => 4
)
ログイン後にコピー

2. array_diff 関数:

PHP の array_diff 関数は、ある配列を別の配列と比較し、その差を返すことができます。 0 のみを含む配列を元の配列と比較することができ、返される結果はすべての 0 値が削除された配列です。関数は次のように使用されます:

$nums = [1, 0, 2, 0, 3, 0, 4];  
$zeros = [0];
$result = array_diff($nums, $zeros);
print_r($result);
ログイン後にコピー

上記のコードでは、最初に定義します複数の 0 値を含む複数の要素の $nums 配列を含む配列。その後、0 値を 1 つだけ含む $zeros 配列を定義し、$nums 配列と $zeros 配列を比較し、その差を返し、最後に次の配列を取得します。すべて0の値。上記のコードの結果は次のようになります:

array (
    0 => 1,
    2 => 2,
    4 => 3,
    6 => 4,
)
ログイン後にコピー
ログイン後にコピー

3. array_unique 関数:

PHP の array_unique 関数は、配列から重複した要素を削除できます。まず、配列内のすべての 0 値を削除できます。配列を作成し、重複する要素を削除します。この関数は次のように使用されます。

$nums = [1, 0, 2, 0, 3, 0, 4, 3]; 
$result = array_unique(array_filter($nums, function($value) { return $value !== 0; }));    
print_r($result);
ログイン後にコピー

上記のコードでは、まず array_filter 関数を使用して配列内のすべての 0 値を削除し、次に array_unique 関数を使用して重複要素を削除します。 0 の値を削除した後の配列。上記のコードの結果は次のようになります:

array (
    0 => 1,
    2 => 2,
    4 => 3,
    6 => 4,
)
ログイン後にコピー
ログイン後にコピー

上記は、PHP で配列の 0 値を削除する 3 つの方法です。読者は実際のニーズに応じて、適切な方法を選択できます。

以上がPHPの配列から0の値を削除する方法(3つの方法)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート