2010-06-11 45 views
2

我有這樣 陣列([0] =>「的一些值」 [1] =>「」)變化空數組元素的值

我想改變陣列的空elemnt陣列到5

值我怎麼能做到這一點

感謝

+0

? – 2010-06-11 22:11:07

回答

2

如果你知道在哪個位置是什麼,只要做:

$array[1] = 5; 

如果不是,循環通過它與=== for value and type equality檢查:

foreach($array as &$element) { //get element as a reference so we can change it 
    if($element === '') { // check for value AND type 
     $element = 5; 
    } 
} 
-2

$array[1] = 5;

1

您可以使用array_map此:

function emptyToFive($value) { 
    return empty($value) ? 5 : $value;  
} 

$arr = array_map(emptyToFive, $arr); 

隨着PHP 5.3的,你可以這樣做:

$func = function($value) { 
    return empty($value) ? 5 : $value;  
}; 
$arr = array_map($func, $arr); 

編輯:如果empty不符合您的要求,您應該根據@ Felix的建議將條件更改爲$value === ''

+1

我會說,'empty'在這裏不是正確的功能。它也將返回true,對於'0','0'和'FALSE',在這種情況下很可能不是空值。 – 2010-06-11 22:21:12

+0

您可能是對的,我想說這取決於OP的確切要求。我已經編輯過。 – karim79 2010-06-11 22:25:06

4

5.3版本

$arr = array_map(function($n) { return !empty($n) ? $n : 5; }, $arr); 
是否使用的是這些PHP版本的
+1

關閉和三元組...如果可以的話,我會兩次讓你高興。 – Entendu 2010-06-12 00:12:34