Tengo una matriz de la siguiente manera
$fruit = array(' apple ','banana ', ' , ', ' cranberry ');
Quiero una matriz que contenga los valores sin los espacios en blanco en ambos lados, pero puede contener valores vacíos sobre cómo hacer esto en php. La matriz de salida debería ser así
$fruit = array('apple','banana', ',', 'cranberry');
array_map('rtrim', $fruit);
. Espero que ayude :)array_walk()
se puede usartrim()
para recortar la matrizVer segundo ejemplo en http://www.php.net/manual/en/function.trim.php
fuente
Tuve problemas con las respuestas existentes al usar matrices multidimensionales. Esta solución me funciona.
fuente
Si la matriz es multidimensional, esto funcionará muy bien:
Una prueba de muestra es así:
fuente
Si desea recortar e imprimir una matriz unidimensional o la dimensión más profunda de la matriz multidimensional, debe usar:
Si desea recortar pero no desea imprimir una matriz unidimensional o la dimensión más profunda de la matriz multidimensional, debe usar:
fuente
Solución a prueba multidimensional:
fuente
null
.fuente
La salida del código anterior es:
Mapa de matriz: 8.6775720119476 segundos
Caminata de matriz: 10.423238992691 segundos
Foreach: 7.3502039909363 segundos
Por: 9.8266389369965 segundos
Estos valores, por supuesto, pueden cambiar, pero yo diría que foreach es la mejor opción.
fuente
array_map('trim', $data)
convertiría todas las submatrices ennull
. Si es necesario recortar espacios solo para cadenas y dejar otros tipos como están, puede usar:fuente
Recorte en el tipo de cambio array_map si tiene un valor NULL.
Mejor forma de hacerlo:
fuente
simplemente puede usar expresiones regulares para recortar todos los espacios o minimizar sus elementos de matriz
fuente
Al usar la función array_walk, podemos eliminar el espacio de los elementos de la matriz y los elementos devuelven el resultado en la misma matriz.
fuente