我是php的新手,我似乎无法正确地做到这一点
$array = array(array());
while ($row = mysql_fetch_assoc($result))
{
if($row['thread_type'] == "M")
{
$array += [$row['ticket_id'];
$array[$row['ticket_id']] = $row['poster'] . $row['body'];
}
if($row['thread_type'] == "R")
{
$array[$row['ticket_id']] = '- Response: ' . $row['body'];
}
}
我要做的是在数组中插入一个变量?我不太清楚如何解释它,我有一个多维数组,我添加id然后我将[海报名称]和[正文]添加到具有该票证ID的数组? Gosh php真的很混乱。
感谢我们的回复,我现在有了这个
$array = array();
while ($row = mysql_fetch_assoc($result))
{
if($row['thread_type'] == "M")
{
$array[$row['ticket_id']][] = ['<font color=yellow>' . $row['poster'] . ': ' . $row['body'] . '</font>'];
}
if($row['thread_type'] == "R")
{
$array[$row['ticket_id']][] = ['<font color=red>Response: ' . $row['body'] . '</font>'];
}
}
foreach($array as $messages)
{
foreach($messages as $msg)
{
echo $msg[0] . '</br>';
}
}
mysql_close($db_handle);
答案 0 :(得分:0)
这不起作用:
$array += [$row['ticket_id'];
它会附加一个带有“未知”索引的NEW子数组。你的$row['ticket_id']
不是你刚刚追加的新数组元素的索引,它是新子数组中的一个VALUE。
你想要这个:
$array[$row['ticket_id']][] = $new_data_here;
^^----note this
e.g。如果你之前有这个:
$array = array(1,2,3);
使用您的版本
$array = array(1,2,3,array($row['ticket_id']));
对我来说,你从
开始$array = array(0 => 1, 1 => 2, 2 => 3)
并以
结束$array = array(0 => 1, 1 => 2, 2 => 3, $row['ticket_id'] => $new_data);