Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Codeigniter在名为';州';_Php_Codeigniter_Codeigniter 3 - Fatal编程技术网

Php Codeigniter在名为';州';

Php Codeigniter在名为';州';,php,codeigniter,codeigniter-3,Php,Codeigniter,Codeigniter 3,我有一个要循环的对象数组,一个公共属性不断导致CodeIgniter出现通知错误。据我所知,“state”在PHP中不是保留字。对象转储的一部分 array (size=1) 0 => object(stdClass)[15] public 'ID' => int 107292435 (length=9) public 'RegTypeID' => int 1172891 (length=7) public 'StatusID'

我有一个要循环的对象数组,一个公共属性不断导致CodeIgniter出现通知错误。据我所知,“state”在PHP中不是保留字。对象转储的一部分

array (size=1)
  0 => 
    object(stdClass)[15]
      public 'ID' => int 107292435 (length=9)
      public 'RegTypeID' => int 1172891 (length=7)
      public 'StatusID' => int 2 (length=2)
      public 'City' => string 'Philadelphia' (length=7)
      public 'State' => string 'PA' (length=2)
  ...
当我在每个对象上循环以输出时,如下图所示

foreach ($attendees as $attendee):
    echo "<tr><td>{$attendee->Title}</td>\n";
    echo "<td>{$attendee->Company}</td>\n";
    echo "<td>{$attendee->State}</td>\n";
    echo "<td>{$attendee->Country}</td></tr>\n";
endforeach;

我的环境是PHP7.1和codeigniter 3.1.8

为了测试目的,我在测试控制器中创建了下面的函数,并且状态输出没有错误消息

public function func(){

    $attendee=new stdClass;
    $attendee->ID=107292435;
    $attendee->RegTypeID=1172891;
    $attendee->StatusID=2;
    $attendee->Title='Michael Jackson';
    $attendee->Company='Worlds Best Music Stars';
    $attendee->City='Philadelphia';
    $attendee->State='PA';
    $attendee->Country='USA';

    $attendees=array();
    $attendees[]=$attendee;

    foreach ($attendees as $attendee){
        echo "<tr><td>{$attendee->Title}</td>\n";
        echo "<td>{$attendee->Company}</td>\n";
        echo "<td>{$attendee->State}</td>\n";
        echo "<td>{$attendee->Country}</td></tr>\n";
    }
}
public function func(){
$attendee=新的stdClass;
$attendee->ID=107292435;
$attendee->RegTypeID=1172891;
$attendee->StatusID=2;
$attendee->Title='Michael Jackson';
$attendee->Company='World Best Music Stars';
$attendee->City='Philadelphia';
$attendee->State='PA';
$attendee->Country='USA';
$attendes=array();
$Attendes[]=$attendee;
foreach($Attendes作为$attendee的与会者){
回显“{$attendee->Title}\n”;
回显“{$attendee->Company}\n”;
回显“{$attendee->State}\n”;
回显“{$attendee->Country}\n”;
}
}
输出如下:

<tr><td>Michael Jackson</td>
<td>Worlds Best Music Stars</td>
<td>PA</td>
<td>USA</td></tr>
迈克尔·杰克逊 世界最佳音乐明星 帕 美国 您可能在所有记录中都没有
State
属性

您可以先填充,然后使用if语句检查并输出一些默认信息,如下所示:

echo "<td>". (isset($attendee->State)? $attendee->State : "no info available"). "</td>\n"
echo”“(设置($attendee->State)?$attendee->State:“无可用信息”)。“\n”

其他变量没有问题,例如
StatusID
City
?显示模型function@Alex,在任何其他变量上都没有问题。请检查
$attenders
的完整转储,并确保所有条目都具有
State
属性。@FelippeDuarte,请将您的评论作为答案发布,以便我可以给您评分。Yo你是对的!在本例中,我实际使用了
if(property_存在($attendee,'State')):
echo "<td>". (isset($attendee->State)? $attendee->State : "no info available"). "</td>\n"