PHP-如何将数据存储在数组中,以便在以后拆分数据时不会遇到麻烦?

PHP-如何将数据存储在数组中,以便在以后拆分数据时不会遇到麻烦?,php,sql,arrays,pdo,Php,Sql,Arrays,Pdo,嗯。下面是一个场景。 我正在获取数据库表的数据(statusmessage),并将每个结果存储在数组中。每个结果都包含多行。 它包含 statusID, posterID, statusMessage, dateTime, sumRating, sumVotes 因此,当我的表中有多条状态消息时,我希望在站点上打印它们。 从逻辑上说,我知道只要这样做 for($i = 0; $i < sizeof($results); $i++) { echo $

嗯。下面是一个场景。 我正在获取数据库表的数据(statusmessage),并将每个结果存储在数组中。每个结果都包含多行。 它包含

statusID, posterID, statusMessage, dateTime, sumRating, sumVotes
因此,当我的表中有多条状态消息时,我希望在站点上打印它们。 从逻辑上说,我知道只要这样做

for($i = 0; $i < sizeof($results); $i++)
        {
            echo $results[i];
        }
现在,在for循环中,我只是在每个逗号处拆分结果数组的当前条目

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

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

您可以使用二维/锯齿状阵列这样做:

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

将分隔符从“,”更改为“|”?嗯。。。只是一个想法:一组数组@乔丹,因为肯定没有人会写任何带有“|”的东西。@deceze;)您的解决方案更好;)照deceze说的做!仅仅为了将字符串拆分为新数组而创建字符串数组是没有意义的。创建多维数组,然后进行格式化。
,
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);