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 サイトの他の関連記事を参照してください。