检查是否设置了数组值

时间:2018-06-28 11:58:54

标签: php laravel laravel-5 laravel-5.3

我正在从表中获取Practice_string_id和program_string_id

$project_type = DB::table('project')
              ->where('code',$asset_request->project_code)
              ->select('practice_string_id','program_string_id')
              ->first();
print_r($project_type); //output 

输出:

  

stdClass对象([practice_string_id] => PRACTICE0028   [program_string_id] =>)

我想检查$ project_type->程序是否已设置

if(isset($project_type->program_string_id)){
    //nothing in $project_type->program but reached here now 
}

如果condition.now已经通过if(isset($project_type->program_string_id))并且条件正常,我想如何检查php中是否设置了值。

3 个答案:

答案 0 :(得分:1)

由于这是一个数据库查询,并且您选择了字段program_string_id,所以它将始终被设置。问题是,是否有任何价值。因此,您可能想使用empty作为支票:

if (!empty($project_type->program_string_id)) {
    // ...
}

答案 1 :(得分:0)

if(isset($project_type-> program_string_id) && !empty($project_type-> program_string_id)  ) 
}

您必须同时使用isset()empty(),否则在某些情况下可能会引发错误

答案 2 :(得分:0)

$project_type = DB::table('project')
              ->where('code',$asset_request->project_code)
              ->select('practice_string_id','program_string_id')
              ->first();
if(count($project_type) > 0 && $project_type != ""){

    echo $project_type->program_string_id;
}