2012-10-10 13 views
8

Üzgünüm, ancak bu konuda çok fazla araştırma yaptım. Dizi öğelerini aramak ve değiştirmek için standart bir işlev var mı?Dizi dize ile boş dizeyi boş değerlerle değiştirme php

str_replace i aramak istediklerimi çünkü boş bir dize '' olduğunu, bu durumda çalışmaz ve ben BOŞ

değerleri ile değiştirin istiyorum bu benim dizidir:

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

ve tabii

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

i bunu, ya da en azından bir "tek hat çözüm" için bir standart fonksiyon olup olmadığını bilmek istiyorum, bunun için bir işlev oluşturabilirsiniz: ben olmak istiyorum.

+0

Eğer bu bir db'ye giriyorsa, –

cevap

19

yenisi

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

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

Güzel bir uygulama, bunu yapmak için bir işlev olduğunu düşündüm, ama bir tane yok gibi görünüyor. Yardım için teşekkürler :) – helpse

10

olarak bildiğim kadarıyla, oradaki için standart fonksiyon olmakla birlikte, böyle bir şey yapabileceğini: Böyle bir fonksiyon olduğunu düşünüyorum, bu yüzden oluşturmak izin vermeyin

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

null olarak bir alanı varsayılan olarak ayarlayabilirsiniz, standart bir işlev olmadığı anlaşılıyor. Ya çözüm ya da Martin'in çözümünü uygulayabilirim. Teşekkür ederim! – helpse