Array Null Foreach

时间:2013-08-20 10:48:56

标签: php arrays mysqli

早上好,

我的问题似乎出现在我的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转储我的$ timetablearray时,我得到以下内容。

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

非常感谢任何帮助,谢谢。

3 个答案:

答案 0 :(得分:4)

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

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

答案 1 :(得分:4)

而不是打电话:

$timetableitems->name

使用:

$timetableitems['name']

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

答案 2 :(得分:0)

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

$timetableitems是一个数组,因此您可以使用$timetableitems[]此格式