为了将Null 值换为空字符串“ ” 自己写了一段代码:
第一段:
function nullToStr($rs){
foreach($rs as $key => $val ) {
if(is_array($rs[$key])){
$rs[$key]= nullToStr($rs[$key]);
}else{
$rs[$key] = isset($val)?$val:(string)("");
}
}
return  $rs; 
}
第二段:
function nullToStr($rs){
foreach($rs as $key => $val ) {
if(is_array($val)){
$val= nullToStr($val);
}else{
$val = isset($val)?$val:(string)("");
}
}
return  $rs; 
}
为什么 第二段的返回值有时候出问题 NULL

解决方案 »

  1.   

    $val= nullToStr($val); 和 $val = isset($val)?$val:(string)("");
    均没有修改到 $rs,所以 $rs 是原样返回的你需要 foreach($rs as $key => &$val ) {
      

  2.   

    $rs内存中的值没有被改变
    第二种方法只改变的是 $val的值
      

  3.   

    谢谢回答,请问 xuzuning &的作用是什么,新手望指教
      

  4.   

    http://www.codesky.net/article/201306/181877.html 关于foreach其他知识点的可以参考哈这篇文章
      

  5.   

    在使用&进行foreach 循环后需要unset 掉引用值,否则会引起悬挂指针错误