Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 修改数组中的空值_Php_Arrays - Fatal编程技术网

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要求修改原始数组,因此我提出以下问题的原因:)最好将原始数组保留在某个位置,并使用新的修改数组。这样,如果需要,您可以随时返回原始值。