ホームページ >バックエンド開発 >PHPチュートリアル >PHP で整数のみの配列を効率的に検証するにはどうすればよいですか?
配列に整数のみが含まれているかどうかを確認する 1 つの方法は、手動反復と is_int() 関数を使用することです。ただし、より効率的なアプローチでは、ネイティブ PHP 機能を利用します。
array_filter() は、指定された条件を満たす配列の要素を維持します。 is_int() を述語として適用すると、フィルタリングされた配列が直接生成されます。
<code class="php">$only_integers = array_filter($only_integers, 'is_int'); // true $letters_and_numbers = array_filter($letters_and_numbers, 'is_int'); // false</code>
このアプローチは、再利用可能なヘルパー関数で拡張できます。
<code class="php">/** * Verify all elements of an array satisfy a given predicate. * * @param array $elems Array to evaluate * @param callable $predicate Predicate to apply * @return bool TRUE if all elements pass, FALSE otherwise */ function all($elems, $predicate) { foreach ($elems as $elem) { if (!call_user_func($predicate, $elem)) { return false; } } return true; } /** * Verify any element of an array satisfies a given predicate. * * @param array $elems Array to evaluate * @param callable $predicate Predicate to apply * @return bool TRUE if any element passes, FALSE otherwise */ function any($elems, $predicate) { foreach ($elems as $elem) { if (call_user_func($predicate, $elem)) { return true; } } return false; }</code>
これらのヘルパー関数を使用すると、元のコードを簡素化できます:
<code class="php">$has_only_ints = all($only_integers, 'is_int'); // true $has_only_ints = all($letters_and_numbers, 'is_int'); // false</code>
以上がPHP で整数のみの配列を効率的に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。