In PHP, verifying whether an array exclusively contains integers can be achieved through various approaches. While manual iteration and conditional checks are a viable option, there exists a more concise solution utilizing native PHP functionality.
The array_filter function offers a convenient and efficient method for this task. It filters an array based on a provided callback function, returning a new array containing only the elements that satisfy the condition. In our case, we can employ the built-in is_int function as the callback to isolate integer elements:
<code class="php">$only_integers === array_filter($only_integers, 'is_int'); // true $letters_and_numbers === array_filter($letters_and_numbers, 'is_int'); // false</code>
To enhance code readability and reusability, we can define helper functions that generalize our validation process. These functions leverage higher-order functions, which operate on functions as arguments, providing greater flexibility.
<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>
With these helpers, our original validation becomes a concise and declarative expression:
<code class="php">all($only_integers, 'is_int'); // true any($letters_and_numbers, 'is_int'); // false</code>
To further simplify the validation process, we can encapsulate the helpers within a custom function that accepts an array and returns a boolean flag:
<code class="php">function array_has_only_ints($array) { return all($array, 'is_int'); }</code>
This function provides a con
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!