¿Hay alguna manera simple de verificar si todos los elementos de una matriz son instancias de un tipo específico sin bucles de todos los elementos? O al menos una manera fácil de obtener todos los elementos de tipo X de una matriz.Escriba check en todos los elementos de la matriz
Respuesta
No puede lograr esto sin verificar todos los elementos de la matriz, pero puede usar funciones de matriz incorporadas para ayudarlo.
Puede usar array_filter
para devolver una matriz. Debe proporcionar su propia función de devolución de llamada como segundo argumento para buscar un tipo específico. Esto verificará si los números de la matriz son incluso.
function even($var){
return(!($var & 1));
}
// assuming $yourArr is an array containing integers.
$newArray = array_filter($yourArr, "even");
// will return an array with only even integers.
Según el comentario de VolkerK, a partir de PHP 5.3+ también puede pasar una función anónima como segundo argumento. Este es el equivalente en el ejemplo anterior.
$newArray = array_filter($yourArr, function($x) { return 0===$x%2; });
¿Hay alguna manera simple de verificar si todos los elementos de una matriz [algo algo algo] sin hacer un bucle de todos los elementos?
No. No puede verificar todos los elementos de una matriz sin verificar todos los elementos de la matriz.
Aunque puede usar array_walk
para ahorrar usted mismo escribiendo la placa repetitiva usted mismo.
También se pueden combinar con array_walk
create_function
y utilizar una función anónima para filtrar la matriz. Algo Alon las líneas de:
$filtered_array = array_filter($array, create_function('$e', 'return is_int($e)'))
$s = array("abd","10","10.1");
$s = array_map(gettype , $s);
$t = array_unique($s) ;
if (count($t) == 1 && $t[0]=="string"){
print "ok\n";
}
De hecho utilicé la solución de filtro ya que mis requisitos cambiados por esta respuesta es genial! Eso en realidad responde completamente la pregunta inicial y es realmente útil para la validación. Gracias. – DiogoNeves
Creo que gettype debe ponerse entre paréntesis. – untill
- 1. Cadena reemplazar todos los elementos en la matriz PHP
- 2. Mostrar todos los elementos en la matriz usando jquery
- 3. elemento de la matriz envolver todos los elementos
- 4. php: secuencia de concatenación en todos los elementos de matriz
- 5. Mostrar todos los elementos en una matriz json
- 6. ¿System.Linq.Enumerable.Reverse copia todos los elementos internamente en una matriz?
- 7. Obtener todos los elementos de opciones seleccionados de todos los elementos seleccionados en un formulario
- 8. cambiar todos los elementos de la matriz hasta un nivel en una matriz multidimensional
- 9. Rails 3 eliminar todos los elementos de una matriz
- 10. Ruby: la matriz A contiene todos los elementos de la matriz B
- 11. Matriz AND()? Logical ANDing de todos los elementos
- 12. método genérico para imprimir todos los elementos de una matriz
- 13. Obtener todos los elementos, pero el primero de una matriz
- 14. todos los elementos en una lista
- 15. Cómo recortar el espacio en blanco de todos los elementos de la matriz?
- 16. Encuentra la ventana más pequeña de la matriz de entrada que contiene todos los elementos de la matriz de consulta
- 17. cómo tomar todos los elementos de la matriz excepto el último elemento en C#
- 18. ¿Cómo multiplico todos los elementos en una colección con todos los elementos en otra colección?
- 19. ListBox seleccione todos los elementos
- 20. ¿Cómo comprobar si todos los elementos de una matriz son los mismos, en matlab?
- 21. Obtener todos los elementos iframe
- 22. ¿La mejor manera de eliminar todos los elementos de una matriz de ActionScript?
- 23. Eliminando todos los elementos secundarios de la cuadrícula en WPF
- 24. Ordenando todos los elementos en un XDocument
- 25. Cómo desencadenar eventos en todos los elementos
- 26. Reemplazar todos los elementos en Knockout.js observableArray
- 27. ¿Seleccionar todos los elementos de una columna en una matriz de matrices en Ruby?
- 28. ¿Cómo eliminar todos los elementos en String array en java?
- 29. ¿Cómo hacer eco de todos los elementos de una matriz php a la vez?
- 30. ¿Qué es Scala para encontrar si todos los elementos de una matriz tienen la misma longitud?
con PHP 5.3+ también se puede utilizar funciones anónimas '$ newArray = array_filter ($ yourArr, la función ($ x) {return 0 === $ x% 2; }); ' – VolkerK
El segundo ejemplo es engañoso. Implica que la implementación de la función 'par 'en el primer ejemplo no se puede usar en una función anónima. Un equivalente ** ** verdadero ** con una función anónima es: '$ newArray = array_filter ($ yourArr, function ($ x) {return (! ($ X & 1));});' –