PHP は奇数と偶数の配列フィルタリングを実装します

WBOY
リリース: 2023-05-20 12:33:09
オリジナル
1032 人が閲覧しました

PHP プログラミングでは、配列内の奇数または偶数をフィルターで除外するなど、配列をフィルター処理する必要があることがよくあります。では、PHP では、配列内の奇数と偶数をフィルタリングする関数を実装するにはどうすればよいでしょうか?この記事では参考のために2つの方法を紹介します。

1. for ループを使用して配列をフィルター処理する

for ループを使用して配列をフィルター処理するのは、最も基本的な方法です。配列を走査し、if ステートメントを使用して配列内の各要素が奇数か偶数かを判断し、条件を満たす要素を新しい配列に保存できます。

以下はサンプル コードです:

// 定义原始数组
$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

// 定义新数组
$evenArr = array();  // 存储偶数
$oddArr = array();   // 存储奇数

// 循环遍历数组
for($i = 0; $i < count($arr); $i++){
  if($arr[$i] % 2 == 0){  // 判断是否是偶数
    $evenArr[] = $arr[$i];  // 存储偶数
  } else {
    $oddArr[] = $arr[$i];   // 存储奇数
  }
}

// 打印输出结果
echo "原数组:";
print_r($arr);
echo "<br />";
echo "偶数数组:";
print_r($evenArr);
echo "<br />";
echo "奇数数组:";
print_r($oddArr);
ログイン後にコピー

上記のコードを実行すると、出力結果は次のようになります:

原数组:Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 [5] => 6 [6] => 7 [7] => 8 [8] => 9 [9] => 10 )
偶数数组:Array ( [0] => 2 [1] => 4 [2] => 6 [3] => 8 [4] => 10 )
奇数数组:Array ( [0] => 1 [1] => 3 [2] => 5 [3] => 7 [4] => 9 )
ログイン後にコピー

実行結果が正しいことがわかります。数字と奇数は正常に除外されました。

2. PHP 組み込み関数を使用してフィルタリングする

PHP には、配列を簡単に操作できる組み込み関数が多数用意されており、配列のフィルタリングも例外ではありません。このうち、array_filter()関数は、配列の要素をフィルタリングするために使用できます。使用方法は次のとおりです:

$newArr = array_filter($arr, function($n){
  return ($n % 2 == 0);  // 返回为真的元素,即偶数
});
ログイン後にコピー

上記のコードでは、array_filterの第2パラメータとして無名関数を使用しています。 () 関数、$n を使用 変数は配列内の各要素を置き換えます。関数本体の return ステートメントは、要素が偶数かどうかを判断し、偶数の場合は true を返し、それ以外の場合は false (つまり、新しい配列は追加されません) を返します。最後に、新しい配列 $newArr はフィルター処理された偶数配列です。

array_filter() 関数は、匿名関数の使用に加えて、「is_odd」コールバック関数を使用して奇数をフィルタリングするなど、プリセット コールバック関数を直接使用することもできます。上記 2 つの方法、どちらも使用できます。PHP 配列フィルタリング操作を簡単に実装できます。もちろん、上記のサンプルコードはデモ用にすぎず、実際のアプリケーションでは実際の状況に応じてより柔軟な動作が必要になる場合があります。

以上がPHP は奇数と偶数の配列フィルタリングを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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