function getFiledValue($strName)
{
if($row[$strName] != NULL){
echo $row[$strName];
}else{
echo "未填写";
}
}
我想把每个字段都判断一下是否为空
getFiledValue("user_id");
getFiledValue("user_name");
getFiledValue("user_age");===============================================Notice: Undefined variable: row in$row[$strName]没有动态生成为 $row["user_id"],$row["user_name"],$row["user_age"];
我将它改为$row["'".$strName."'"]照样报以下的错;Notice: Undefined variable:

解决方案 »

  1.   

    $strName比需为数组
    然后循环
    循环 
    foreach($arr as $key=$value)
    {
    getFiledValue($value);
    }
      

  2.   

    最简单的办法,在函数getFiledValue中global $row;即可
      

  3.   

    你的$row没有传进去。 像楼上那样在函数里面设为全局变量。或者把$row当参数传进来。
      

  4.   

    $Array=array('第一个'=>'1','第二个'=>'2','第三个'=>'','第四个'=>'3','第五个'=>'5');$BackArray=getFiledValue($Array);
    print_r($BackArray);
    function getFiledValue($Array){
    if (is_array($Array)){
    $Rarray=array();
    if (count($Array)==count(array_diff($Array, array('',' ')))){
    return $Array;
    }
    foreach ($Array as $Key=>$Value){
    if (empty($Value)){
    $Rarray[$Key]='未填写';
    }else{
    $Rarray[$Key]=$Value;
    }
    }
    return $Rarray;
    }
    return false;
    }
      

  5.   

    function getFiledValue($strName)
    {
    global $row;
    if($row[$strName] != NULL){
    echo $row[$strName];
    }else{
    echo "未填写";
    }
    }