-1

行。这是场景。我正在获取我的数据库表的数据(状态消息)并将每个结果存储在我的数组中。每个结果都包含多行。它包含

statusID, posterID, statusMessage, dateTime, sumRating, sumVotes

因此,当我在表格中收到多条状态消息时,我想将它们全部打印在网站上。逻辑上我知道这样做

for($i = 0; $i < sizeof($results); $i++)
        {
            echo $results[i];
        }

现在我得到了所有类型的所有数据。但是现在,当我想对数据进行一些操作并对其进行格式化时,或者说,我不想将数据一个接一个地打印出来。我想要posterID,然后我想要一点PHP 代码或CSS 之类的。

所以,我现在正在做的是,我目前像这样保存我的数据

foreach($statusMessageResult as $row){
            $results[] = $row['statusID'] . "," . $db->getUsername($db->getUserNameById($row['posterID'])) . "," . $row['statusMessage'] . "," . $row['dateTime'] . "," . $row['sumRating'] . "," . $row['sumVotes'];   
        }

所以现在,在我的 for 循环中,我只是在每个逗号处拆分结果数组的当前条目。

$statusMessage = $results[$i];
            $statusMessageSplit = explode(",", $statusMessage);
            echo "This status is written by: " . $statusMessageSplit[1] . " and has the ID: " . $statusMessageSplit[0] . "<br>";

我的问题是,当用户写一个

,

在他的状态消息中,它将再次被拆分。那么,我能做些什么来更好地解决这个问题呢?

4

1 回答 1

2

您可以使用二维/锯齿状数组这样做:

foreach($statusMessageResult as $row)
    $results[$row['statusID']] = array($db->getUsername($db->getUserNameById($row['posterID'])), $row['statusMessage'], $row['dateTime'], $row['sumRating'], $row['sumVotes']);

//usage:
foreach($results as $index => $rowArr)
    echo "StatusID: $index:\r\n" . var_export($rowArr);
于 2013-03-21T18:48:24.740 回答