ホームページ  >  記事  >  バックエンド開発  >  ネイティブ PHP 関数を使用して配列の整数構成を迅速に検証するにはどうすればよいですか?

ネイティブ PHP 関数を使用して配列の整数構成を迅速に検証するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-17 13:52:02526ブラウズ

How Can I Swiftly Verify Array Integer Composition Using Native PHP Functions?

ネイティブ PHP 関数を使用した配列整数検証の最適化

配列に整数のみが含まれていることを検証することは一般的なタスクです。配列を反復処理して各要素の型を調べるのは簡単なアプローチですが、PHP ではより簡潔な代替手段が提供されています。

そのようなソリューションの 1 つは、配列と評価関数を引数として受け取る array_filter 関数を利用します。この例では、評価関数として is_int を渡します。 is_int に渡されたときに配列のすべての要素が true を返す場合、それは配列に整数のみが含まれていることを意味します。逆に、いずれかの要素が false を返した場合は、数値以外のデータの存在が確認されます。

<code class="php">$only_integers       === array_filter($only_integers,       'is_int'); // true
$letters_and_numbers === array_filter($letters_and_numbers, 'is_int'); // false</code>

このプロセスをさらに効率化するために、all と any という 2 つのヘルパー関数を定義できます。 all は配列のすべての要素が指定された述語を満たすかどうかをチェックし、any はいずれかの要素が条件を満たすかどうかを検証します。

<code class="php">function all($elems, $predicate) {
  foreach ($elems as $elem) {
    if (!call_user_func($predicate, $elem)) {
      return false;
    }
  }

  return true;
}

function any($elems, $predicate) {
  foreach ($elems as $elem) {
    if (call_user_func($predicate, $elem)) {
      return true;
    }
  }

  return false;
}</code>

any と is_int を利用することで、整数検証ロジックを簡潔に表現できます。

<code class="php">any($array, 'is_int');</code>

結果が true の場合、配列に少なくとも 1 つの非整数要素が含まれていることを意味します。それ以外の場合は、すべての要素が整数であることが確認されます。

以上がネイティブ PHP 関数を使用して配列の整数構成を迅速に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。