2012-10-10 14 views
8

Przykro mi, ale dużo się o tym dowiedziałem. Czy istnieje standardowa funkcja wyszukiwania i zamiany elementów tablicy?Zastępowanie pustego łańcucha wartościami null w tablicy php

str_replace nie działa w tym przypadku, ponieważ to, co chcę szukać jest pusty ciąg znaków „” i chcę zastąpić je z wartościami NULL

to moja tablica:

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

i chcę, aby stało się:

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

oczywiście mogę utworzyć funkcję, aby to zrobić, chcę wiedzieć, czy istnieje jedna standardowa funkcja to zrobić, albo co najmniej „rozwiązanie pojedynczej linii”.

+0

Jeśli zdarzy się, że dzieje się to w db, możesz domyślnie pole do wartości null –

Odpowiedz

19

nie sądzę istnieje taka funkcja, więc stwórzmy nowy

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

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

Przyjemna implementacja, myślałem, że jest funkcja do tego, ale wydaje się, że nie ma. Dzięki za pomoc :) – helpse

10

O ile mi wiadomo, nie ma standardowego funkcja, ale można zrobić coś takiego:

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

Ya, wydaje się, że nie ma funkcji standardowej. Mogę wdrożyć rozwiązanie ur lub rozwiązanie Martina. Dziękuję Ci! – helpse

Powiązane problemy