2012-10-10 17 views
8

Lo siento, pero he investigado mucho sobre este tema. ¿Hay una función estándar para buscar y reemplazar elementos de la matriz?Sustitución de cadenas vacías con nulos en la matriz php

str_replace no funciona en este caso, porque lo que yo quiero buscar es una cadena vacía '' y quiero reemplazarlos con valores nulos

esta es mi matriz:

$array = (
    'first' => '', 
    'second' => '', 
); 

y quiero que se convierta en:

$array = (
    'first' => NULL, 
    'second' => NULL, 
); 

por supuesto que puedo crear una función para hacer eso, quiero saber si hay una función estándar de hacer eso, o por lo menos una "solución de una sola línea".

+0

si sucede que esto está yendo a una base de datos, puede predeterminar un campo para anular –

Respuesta

19

No creo que hay una función de este tipo, por lo que vamos a crear una nueva

$array = array(
    'first' => '', 
    'second' => '' 
); 

$array2 = array_map(function($value) { 
    return $value === "" ? NULL : $value; 
}, $array); // array_map should walk through $array 
+0

Buena implementación, pensé que había una función para hacer eso, pero parece que no hay una. Gracias por tu ayuda :) – helpse

10

Por lo que yo sé, no hay una función estándar para eso, sino que podría hacer algo como:

foreach ($array as $i => $value) { 
    if ($value === "") $array[$i] = null; 
} 
+0

Ya, parece que no hay una función estándar. Puedo implementar tu solución o la solución de Martin. ¡Gracias! – helpse

Cuestiones relacionadas