【问题标题】:Array Null Foreach数组 Null Foreach
【发布时间】:2013-08-20 10:48:55
【问题描述】:

大家早上好,

我的问题似乎在我的 foreach 循环中,但我看不到问题。

当我打印我的数组时,我会从我的选择语句中得到这个。

array(41) {
  [0]=> array(4) {
    ["id"]=>
    string(1) "1"
    ["name"]=>
    string(14) "Indoor Cycling"
    ["time"]=>
    string(12) "6.15am – 7am"
    ["day"]=>
    string(1) "1"
  }
  [1]=> array(4) {
    ["id"]=>
    string(2) "73"
    ["name"]=>
    string(11) "Fast Blast "
    ["time"]=>
    string(6) "7.10am"
    ["day"]=>
    string(1) "5"
  }
}

所以我尝试了每个循环的标准。

foreach ($rows as $timetableitems) {
    $timetablearray[] = array(
        'name' => $timetableitems->name,
        'time'  => $timetableitems->time,
    );              
}

但是当我尝试 var dump 我的 $timetablearray 时,我得到以下信息。

array(41) {
  [0]=>
  array(2) {
    ["name"]=>
    NULL
    ["time"]=>
    NULL
  }
  [1]=>
  array(2) {
    ["name"]=>
    NULL
    ["time"]=>
    NULL
  }

任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 您将项目称为对象,而不是数组?

标签: php arrays mysqli


【解决方案1】:
foreach ($rows as $timetableitems) {
    $timetablearray[] = array(
        'name' => $timetableitems['name'],
        'time'  => $timetableitems['time'],
    );              
}

您无法通过$timetableitems->name 访问array 变量。你必须使用$timetableitems['name']

【讨论】:

  • 谢谢队友抱歉没有注意到。
【解决方案2】:

而不是调用:

$timetableitems->name

使用:

$timetableitems['name']

因为$timetableitems 是一个数组,而不是一个对象。因此,您可以使用密钥访问其属性。

【讨论】:

    【解决方案3】:

    尝试$timetableitems['name'] 而不是$timetableitems->name

    $timetableitems 是一个数组,所以你可以使用$timetableitems[] 这种格式

    【讨论】:

      猜你喜欢
      • 2016-07-18
      • 2017-07-12
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      • 2015-01-29
      • 2019-02-23
      • 2015-04-04
      • 2019-12-08
      相关资源
      最近更新 更多