【发布时间】:2016-06-16 11:30:02
【问题描述】:
在以下示例中,我无法摆脱“注意:未定义的索引:总数”:
stdClass Object
(
[1] => stdClass Object
(
[name] => How do you find our site?
[id] => 1
[values] => stdClass Object
(
[0] => stdClass Object
(
[value] => Piece of cake
[count] => 10
)
[3] => stdClass Object
(
[value] => Very Easy
[count] => 20
)
[4] => stdClass Object
(
[value] => Easy
[count] => 30
)
[6] => stdClass Object
(
[value] => Hard
[count] => 40
)
)
[totalcount] => 100
)
[2] => stdClass Object
(
[name] => What is your favourite color?
[id] => 2
[values] => stdClass Object
(
[1] => stdClass Object
(
[value] =>Green
[total] => 0
)
[2] => stdClass Object
(
[value] => Blue
[total] => 0
)
[5] => stdClass Object
(
[value] => Red
[total] => 0
)
[7] => stdClass Object
(
[value] => Black
[total] => 0
)
)
[totalcount] => 0
)
)
然后我使用foreach循环数组根据名称值进行排序:
foreach ($array as $i => $row) {
if ($id != $row->id) {
$id = $row->id;
$data[$row->id]['name'] = $row->question;
$data[$row->id]['id'] = $row->id;
}
$data[$row->id]['opts'][$i]['value'] = $row->value;
$data[$row->id]['opts'][$i]['count'] = $row->total;
$data[$row->id]['totalcount'] += $data[$row->id]['opts'][$i]['count'];
}
但在此处不断收到索引通知“$data[$row->id]['totalcount'] += $data[$row->id]['opts']”
我不知道如何解决这个问题。结果都是正确的,只是特定行的问题。
我只需要将“count”的所有值相加并作为单个值分配给totalcount
感谢任何帮助。
【问题讨论】:
-
在 foreach 开始时初始化一个空的
totalcount:$data[$row->id]['totalcount'] = 0;- 此外,您可以将$row->total添加到totalcount,节省一些复杂性和字符。 -
即使使用 $data[$row->id]['totalcount'] += $row->total,仍然会收到通知。
-
$data来自哪里???