Php 注意:未定义的属性:stdClass
我的脚本中有以下问题: 注意:未定义的属性:stdClass::$job_详细信息,位于第1034行的/Applications/MAMP/htdocs/curafides/home.php中 我如何解决这个问题? 职位名称非sgh的示例 有关职位详情:Php 注意:未定义的属性:stdClass,php,mysql,oop,Php,Mysql,Oop,我的脚本中有以下问题: 注意:未定义的属性:stdClass::$job_详细信息,位于第1034行的/Applications/MAMP/htdocs/curafides/home.php中 我如何解决这个问题? 职位名称非sgh的示例 有关职位详情: <?php if(strlen($jb_row->job_details) > 120) { echo substr($jb_row->job_details ,0 ,120)."...";
<?php
if(strlen($jb_row->job_details) > 120) {
echo substr($jb_row->job_details ,0 ,120)."...";
} else {
echo $jb_row->job_details;
}
?>
请尝试以下操作:
if( isset($jb_row->job_details) && strlen($jb_row->job_details) > 120){
echo substr($jb_row->job_details ,0 ,120)."...";
}else{
echo $jb_row->job_details;
}
是什么代码创建了$jb_行?您几乎没有提供任何代码上下文,但只提供了错误消息,我假设在$jb_行中没有您尝试使用的任何对象的正确实例,因为它在其中找不到任何名为job_details的属性。如果$jb_row是一个对象,但没有job_details属性,该怎么办?现在,如果$jb_row不是对象,它将抛出未定义属性的相同异常。但无论如何,这是一个糟糕的验证,因为它应该在该点之前,在实例化行进行测试。由于缺少OP的信息,我们不知道$jb_行是如何构建的,所以您的答案只是猜测。