php - Codeigniter 在名为 'State' 的对象属性上失败

标签 php codeigniter codeigniter-3

我有一组要循环的对象,并且一个公共(public)属性不断导致 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;

严重性:通知 消息:未定义的属性:stdClass::$State

我尝试使用索引值 $attendee->{'4'} 进行输出,但同样失败了。如果可能,我想避免循环并添加另一个属性名称来替换这个名称。

添加 print_r 结果例如:

stdClass Object

    (
        [ID] => 108279742
        [EventID] => 2148055
        [FirstName] => Bob
        [LastName] => Smith
        [Company] => AbbVie
        [Title] => Sample Title
        [State] => IL
        [Country] => United States
    )

最佳答案

您可能没有在所有记录中都具有 State 属性。

你可以做的是在之前填写或者使用if语句来检查并输出一些默认信息,就像这样:

echo "<td>". (isset($attendee->State)? $attendee->State : "no info available"). "</td>\n"

关于php - Codeigniter 在名为 'State' 的对象属性上失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49079620/

相关文章:

php - 如何传递数据库数据以在 Codeigniter 中查看输入

php - 如何根据PHP中的值合并两个数组?

php - CodeIgniter 4,辅助函数不起作用

mysql - 如果单列中的days id有多个,如何在 View 页面显示天数?

php - 如何按照数据库中定义的顺序将行分配给并发进程?

php - 在 php while 循环中从 MySQL 结果打印新的 <div> 的 id 迭代更改

php - 如何在 Codeigniter RSA 库中生成签名和 key

php - CodeIgniter 3.0.0 where_not_in 仅在查询中为一列生成 `NOT`

php - 根据时间间隔选择行

php - 在设置每个属性时验证域实体,还是稍后一次性验证所有属性?