2015-11-21 76 views
-1

我想用空白值或空字符串遞歸地替換數組中的所有空值。用數組樹中的空白替換空值php

當前我的數組看起來像這樣,這是完美的結構,我想用空字符串替換它的每個空值。

Array 
(
    [items] => Array 
     (
      [0] => Array 
       (
        [id] => 28 
        [name] => ABC 
        [goal] => 
        [currency] => 
        [images] => 
        [start] => 1446159600 
        [stop] => 1446246000 
       ) 
      [1] => Array 
       (
        [id] => 29 
        [name] => XYZ 
        [goal] => 
        [currency] => 
        [images] => 
        [start] => 1446159600 
        [stop] => 1446246000 
       ) 
     ) 
) 

請給我看最短的方法來取代它。

+2

做到這一點看看:['array_walk_recursive()'](http://php.net/manual/en/ function.array-walk-recursive.php) – Rizier123

+0

你在哪裏看到空值?我沒有看到任何內容,因爲您正在使用錯誤的調試打印功能。嘗試'var_dump'。 – Sven

+0

它在那裏,當我使用這個數組進行JSON解析時,顯示NULL值。 – ChintanThummar

回答

4

正如Rizier123指出的那樣,你可以用array_walk_recursive

function replaceNullValueWithEmptyString(&$value) { 
    $value = $value === null ? "" : $value; 
} 

array_walk_recursive($array, "replaceNullValueWithEmptyString"); 
0

如果你使用array_map(),你可以得到結果數組。功能。 這是示例代碼。

$item = array('a' => 'apple', 'b' => 'banana','c' => 'rama', 'd' => 'lingam','e' => '', 'f' => ''); 

function addNull($n) 
{  
    if($n=='') 
     return('NULL'); 
    else 
     return($n); 
} 

$result_array = array_map("addNull", $item); 

print_r($result_array);