Php 修改数组中的空值
我想修改数组()中的空值。我只想修改,不想清洗Php 修改数组中的空值,php,arrays,Php,Arrays,我想修改数组()中的空值。我只想修改,不想清洗 $arr = array ( 'a' => '', 'b' => 'Apple', 'C' => 'Banana'); 我想修改并获得以下内容: array(a => 'N', b => Apple, C => 'Banana'); 我尝试使用array\u walk()和array\u filter()。但空值会被删除 我得到: array('b' => 'Apple', 'C' => 'Ban
$arr = array ( 'a' => '', 'b' => 'Apple', 'C' => 'Banana');
我想修改并获得以下内容:
array(a => 'N', b => Apple, C => 'Banana');
我尝试使用array\u walk()和array\u filter()。但空值会被删除
我得到:
array('b' => 'Apple', 'C' => 'Banana');
这个代码在我的机器上运行得很好
这段代码在我的机器上运行得非常好。您也可以这样做:
$arr = array ( 'a' => '', 'b' => 'Apple', 'C' => 'Banana' );
foreach ( $arr as $key => $value ) {
if ( !$value ) $value = 'N';
$new_arr[ $key ] = $value;
}
print_r( $new_arr );
输出:
Array
(
[a] => N
[b] => Apple
[C] => Banana
)
您也可以这样做:
$arr = array ( 'a' => '', 'b' => 'Apple', 'C' => 'Banana' );
foreach ( $arr as $key => $value ) {
if ( !$value ) $value = 'N';
$new_arr[ $key ] = $value;
}
print_r( $new_arr );
输出:
Array
(
[a] => N
[b] => Apple
[C] => Banana
)
显示您的
array\u walk
尝试…显示您的array\u walk
尝试…并且您可能还想添加(| |$val='')我认为OP的意思是空的,而不是空的。PHP中的'
被认为是空的(当然,如果我们不比较类型的话),但是改变这一点没有问题。Ok可以在NULL
中正常工作,但不能在'
中正常工作。o_o我将更仔细地查看。@zourite,如果您使用的是$val==null
,解释器还将检查$val的类型(因此它必须是“real”null
)。正如@Alex所说,您也可以使用if(empty($val))
。您可能还想添加(| |$val==“”),我认为OP的意思是空的,而不是null,因为他的例子。PHP中的'
被认为是null(当然,如果我们不比较类型的话),但是改变这一点没有问题。Ok可以在NULL
中正常工作,但不能在'
中正常工作。o_o我将更仔细地查看。@zourite,如果您使用的是$val==null
,解释器还将检查$val的类型(因此它必须是“real”null
)。正如@Alex所说,您也可以使用if(empty($val))
。为什么不这样使用引用:foreach($arras&$value)
?为什么需要它?使用reference时,不需要$key
来更改原始数组,因为simple$value='N'代码>可以做到这一点。我不是在这里更改原始代码,而是创建一个新代码;)对。OP要求修改原始数组,因此我提出以下问题的原因:)最好将原始数组保留在某个位置,并使用新的修改数组。这样,如果需要,您可以随时返回原始值。为什么不这样使用引用:foreach($arras&$value)
?为什么需要它?使用reference时,不需要$key
来更改原始数组,因为simple$value='N'代码>可以做到这一点。我不是在这里更改原始代码,而是创建一个新代码;)对。OP要求修改原始数组,因此我提出以下问题的原因:)最好将原始数组保留在某个位置,并使用新的修改数组。这样,如果需要,您可以随时返回原始值。