0

大家早上好,

我的问题似乎在我的 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
  }

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

4

3 回答 3

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

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

于 2013-08-20T10:49:47.953 回答
4

而不是调用:

$timetableitems->name

利用:

$timetableitems['name']

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

于 2013-08-20T10:49:51.417 回答
0

尝试$timetableitems['name']代替$timetableitems->name

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

于 2013-08-20T12:56:39.253 回答