PHP では、配列に整数のみが含まれているかどうかをさまざまな方法で検証できます。手動による反復と条件チェックは実行可能なオプションですが、ネイティブの 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">// Check if all array elements pass the predicate function all($elems, $predicate) { foreach ($elems as $elem) { if (!call_user_func($predicate, $elem)) { return false; } } return true; } // Check if any array element passes the predicate function any($elems, $predicate) { foreach ($elems as $elem) { if (call_user_func($predicate, $elem)) { return true; } } return false; }</code>
これらのヘルパーを使用すると、元の検証が簡潔な宣言式になります。
<code class="php">all($only_integers, 'is_int'); // true any($letters_and_numbers, 'is_int'); // false</code>
検証プロセスをさらに簡略化するために、配列を受け入れてブール値フラグを返すカスタム関数内にヘルパーをカプセル化できます。
<code class="php">function array_has_only_ints($array) { return all($array, 'is_int'); }</code>
この関数は con
以上が整数コンテンツの PHP 配列を効果的に検証するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。