簡體   English   中英

更改我的輸出格式

[英]change my output format

我的PHP代碼是:

$q = $db->query("SELECT username FROM users LIMIT 3");
$users = array();
while($row = $db->fetchAll($q))
{
    $users[] = $row;
}


foreach($users as $user)
{


echo $user['username'].'<br>';

}

和輸出將是

Nilsen
Michael
Sam

是否可以在不啟動foreach的情況下將輸出格式更改為Nilsen,Michael,Sam

有什么想法嗎?

謝謝。

while($row = $db->fetchAll($q)) // fetchAll is wired here, but since you get the result, asume that's right
{
    $users[] = $row['username'];
}

然后使用:

echo join(',' $users);

您可以使用GROUP_CONCAT()並且php端不需要循環。

SELECT GROUP_CONCAT(username) user_name FROM users LIMIT 3
$q = $db->query("SELECT username FROM users LIMIT 3");
while($row = $db->fetchAll($q))
{
   print_r($row);
}

要么

 echo $row[0], $row[1], $row[2]; 

我不建議將其用於生產,僅用於檢查/調試。

通常,對於調試,您可以這樣使用:

$q = $db->query("SELECT username FROM users LIMIT 3");
while($row = $db->fetchAll($q))
{
    print_r($row); // or below
    var_dump($row);
}

var_dump()函數顯示有關變量/表達式的結構化信息,包括其類型和值。 遞歸地探索數組,並縮進顯示結構的值。 它還顯示了哪些數組值和對象屬性是引用。

print_r()以人類可讀的方式顯示有關變量的信息。 數組值將以顯示鍵和元素的格式顯示。 類似的符號用於對象。

你是這個意思嗎

$stmt = $db->query('SELECT username FROM users LIMIT 3');

$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);

$users = array_map(function($row) {
    return $row['username'];
}, $rows);

print_r($users);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM