变化空数组元素的值
如果你知道在哪个位置是什么,只要做:
$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;
}
}
这$array[1] = 5;
您可以使用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 === ''
。
我会说,'empty'在这里不是正确的功能。它也将返回true,对于'0','0'和'FALSE',在这种情况下很可能不是空值。 – 2010-06-11 22:21:12
您可能是对的,我想说这取决于OP的确切要求。我已经编辑过。 – karim79 2010-06-11 22:25:06
5.3版本
$arr = array_map(function($n) { return !empty($n) ? $n : 5; }, $arr);
是否使用的是这些PHP版本的
关闭和三元组...如果可以的话,我会两次让你高兴。 – Entendu 2010-06-12 00:12:34
? – 2010-06-11 22:11:07