如果数组为空,如何更新数据?

时间:2016-06-15 08:32:19

标签: php arrays logic

我想要更新空数组。所以我检查是空的并想要更新原始变量。所以我试过&但它没有改变空数组$array2。我有尝试了很多个小时但没有工作!!!

<?php
$array1 = array('one','two','three');
$array2 = array();
$array3 = array ('four');
$array4 = array ('five','six');
check([&$array1,&$array2,&$array3,&$array4]);
function check($arr){   
    foreach ($arr as $k=>$value) {          
        if(empty($value)){      
            $arr[$k][] = "nothing";
            return $arr[$k];
        }
        else{
            return $arr[$k];
        }
    }
}
var_dump($array2); 
//actual output : empty
//expect output :  0 => string 'nothing'
?>

2 个答案:

答案 0 :(得分:1)

这对你有用:

<?php
$array1 = array('one','two','three');
$array2 = array();
$array3 = array ('four');
$array4 = array ('five','six');
list($array1, $array2, $array3, $array4) = check([$array1,$array2,$array3,$array4]);
function check($arr){   
    foreach ($arr as $k => $value) {          
        if(empty($value)){     
            $arr[$k] = "nothing";
        }
    }

    return $arr;
}
var_dump($array2); 
//actual output : string(7) "nothing"
//expect output :  string(7) "nothing"

?>

你实际上非常奇怪地写了你的功能。

<强>更新即可。输出其他数组而不是只有一个。

var_dump($array1, $array2, $array3, $array4);

array(3) {
  [0]=>
  string(3) "one"
  [1]=>
  string(3) "two"
  [2]=>
  string(5) "three"
}
string(7) "nothing"
array(1) {
  [0]=>
  string(4) "four"
}
array(2) {
  [0]=>
  string(4) "five"
  [1]=>
  string(3) "six"
}

答案 1 :(得分:1)

查看以下代码。

 $array1 = array('one','two','three');
 $array2 = array();
 $array3 = array ('four');
 $array4 = array ('five','six');
 $arr11=check([&$array1,&$array2,&$array3,&$array4]);
 function check($arr){  
    foreach ($arr as $k=>$value) {          
       print_r($value);
       if(empty($value)){     
          $arr[$k] = "nothing";
        }
        else{
           $arr[$k];
        }
     }
   return $arr;
 }

print_r($arr11);
var_dump($array2); 
//actual output : empty
//expect output :  0 => string 'nothing'

将显示以下结果。

Array
(
[0] => Array
    (
        [0] => one
        [1] => two
        [2] => three
    )

[1] => nothing
[2] => Array
    (
        [0] => four
    )

[3] => Array
    (
        [0] => five
        [1] => six
    )

)


string(7) "nothing"