PHP根据ticked_id将变量插入到数组维度(?)中?

时间:2015-08-11 19:04:30

标签: php database multidimensional-array

我是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); 

1 个答案:

答案 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);