ホームページ > バックエンド開発 > PHPの問題 > PHPで整数ではない配列を削除する方法

PHPで整数ではない配列を削除する方法

PHPz
リリース: 2023-04-26 14:47:56
オリジナル
519 人が閲覧しました

PHP では、配列内の整数要素を操作する必要がある場合があります。ただし、配列内に非整数型の要素がある場合、後続の計算操作でエラーが発生する可能性があります。したがって、これらの非整数要素を削除する方法を見つける必要があります。

以下では、この機能を実現するためのいくつかの方法を紹介します。

方法 1: is_int() 関数を使用してフィルターを実行する

is_int() 関数は、変数が整数であるかどうかを判断できます。配列内の各要素を反復処理し、is_int() 関数を使用して、それが整数型であるかどうかを判断できます。整数の場合は新しい配列に追加し、それ以外の場合は要素を無視します。

以下はコード例です:

$array = array(1, 2, "foo", 3.5, "bar", 4);

$new_array = array();

foreach ($array as $value) {
    if (is_int($value)) {
        $new_array[] = $value;
    }
}

print_r($new_array); // 输出:Array ( [0] => 1 [1] => 2 [2] => 4 )
ログイン後にコピー

この例では、整数、文字列、および浮動小数点数を含むプリミティブ配列 $array を定義します。配列を走査することにより、is_int() 関数を使用して各要素が整数型であるかどうかを判断します。最後に、すべての整数要素を新しい配列 $new_array に追加します。

方法 2: ctype_digital() 関数を使用してフィルタリングする

is_int() 関数に加えて、PHP には、文字列かどうかを判断するために使用できる ctype_digital() 関数も用意されています。数字のみが含まれます。したがって、配列内の非整数要素を文字列型に変換し、 ctype_digital() 関数を使用してそれが整数型であるかどうかを判断できます。

以下はコード例です:

$array = array(1, 2, "foo", 3.5, "bar", 4);

$new_array = array();

foreach ($array as $value) {
    if (ctype_digit(strval($value))) {
        $new_array[] = (int) $value;
    }
}

print_r($new_array); // 输出:Array ( [0] => 1 [1] => 2 [2] => 4 )
ログイン後にコピー

この例では、まず配列内の各要素を文字列型に変換し、次に ctype_digital() 関数を使用して文字列型であるかどうかを判断します。整数型。最後に、整数型の場合は整数型に変換され、新しい配列 $new_array に追加されます。

方法 3: array_filter() 関数を使用してフィルタリングする

PHP の組み込みの array_filter() 関数は、配列内の要素をフィルタリングして、新しい配列を返すことができます。この関数を使用すると、配列から非整数要素をすばやく削除できます。

以下はコード例です:

$array = array(1, 2, "foo", 3.5, "bar", 4);

$new_array = array_filter($array, 'is_int');

print_r($new_array); // 输出:Array ( [0] => 1 [1] => 2 [5] => 4 )
ログイン後にコピー

この例では、array_filter() 関数を直接使用して配列内の要素をフィルターし、整数型の要素を保持します。この関数は要素の値のみを保持し、以前の添字は保持しないことに注意してください。

概要

上記は、配列から非整数要素を削除するいくつかの方法です。さまざまな状況に適した方法が異なるため、実際の状況に応じて選択する必要があります。 is_int() 関数と ctype_digit() 関数を使用する場合は、型変換の問題に注意する必要があります。 array_filter() 関数を使用する場合は、要素の添字の変更に注意する必要があります。これらの方法をマスターすると、配列内の整数要素をより効率的に操作できるようになります。

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

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