簡體   English   中英

如何從While循環中的最后一個字符串中刪除最后一個字符?

[英]How to remove the last character from last string in a While loop?

我正在嘗試在 Google Charts 腳本中插入一個 PHP 循環,其中包含來自我的 mysql 數據庫的數據。

我的數據庫結果如下所示:

$result = $wpdb->get_results(
    "Query"); 

我試圖做的循環應該是這樣的

['$result',  $result],

這就是我到目前為止想出的

$count = 0;
while ($count < count($result)) {
    echo "['" . $result[$count]->dato . "', " . $result[$count]->vaegt . "].<br>";
    $count++;
    }

這創建了我正在尋找的字符串。 問題是我需要從循環中的最后一個字符串中刪除逗號。

我已經嘗試過 function LTRIM,但它會從循環中的每個字符串中刪除它,而不僅僅是最后一個。

解決此問題的最佳解決方案是什么?

首先,不要在循環中使用 count() 。 它可能看起來很方便,但速度較慢,因為它在每次迭代中一遍又一遍地執行操作。 首先將計數結果分配給變量。 就個人而言,我會在這里使用 for() 循環。

其次,您需要在循環內使用條件。 與其嘗試刪除最后一個逗號,不如檢查迭代計數,如果不是最后一個,則添加一個逗號。

$count = count($result);
for($i = 0; $i < $count; $i++)
{
    echo ....
    if $i < $count
    {
        echo ", ";
    }
}

你可以使用json_encode,我想它會給你你想要的那種output。

像這樣:

$arr = array();

foreach ( $result as $res ) {

    $dato = $res->dato;
    $vaegt = $res->vaegt;

    $arr[$dato] = $vaegt; 

}

$output = json_encode($arr);

echo $output;

這將轉到 output:

{“dato1”:“vaegt1”,“dato2”:“vaegt2”,等等...}

暫無
暫無

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

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