2016-11-20 67 views
2

我如何修剪while內只有一個字符?看到這個例子:刪除只有一個字符,而

我想什麼:

[{"lat":"mylat","lng":"mylong","dragable":"false"}, 
{"lat":"mylat","lng":"mylong","dragable":"false"}]` 

我得到什麼:

[{"lat":"mylat","lng":"mylong","dragable":"false"}, 
{"lat":"mylat","lng":"","dragable":"false"},] 

我想刪除只是逗號即介於}]之間,但我不知道如何。


代碼:

print "["; 
if ($result=mysqli_query($conn,$sql)) { 
    while ($row=mysqli_fetch_row($result)) { 
    $locs_json = sprintf(json_encode(array("lat"=>"%s", "lng"=>"%s", "dragable"=>"false")),$row[0],$row[1]); 
    $locs = $locs_json.","; 
    print $locs; 
    } 
    mysqli_free_result($result); 
} 
print "]"; 

我試着打印後加入rtrim($locs, ",");,但它移除所有的逗號,我需要所有的人除了最後一個。

回答

1

的值的計數器和打印逗號我將盡其存儲在一個變量的字符串。

當您完成添加值時,您執行rtrim,然後添加方括號並打印它。

$myString = "["; 
if ($result=mysqli_query($conn,$sql)) { 
    while ($row=mysqli_fetch_row($result)) { 
    $locs_json = sprintf(json_encode(array("lat"=>"%s", "lng"=>"%s", "dragable"=>"false")),$row[0],$row[1]); 
    $locs = $locs_json.","; 
    $myString .= $locs; 
    } 
    mysqli_free_result($result); 
    $myString = rtrim($myString, ","); 
} 
$myString .= "]"; 

print $myString; 
+0

有了這個,我得到了所有的逗號,包括我想要刪除的逗號@nanocv –

+0

@DiegoBarreiro我的錯!修復!你必須重新分配rtrim的結果給變量 – nanocv

+0

謝謝@nanocv,現在它完美的工作!非常感謝 –

0
print "["; 
if ($result=mysqli_query($conn,$sql)) { 
    $i = 1; 
    while ($row=mysqli_fetch_row($result)) { 
    $locs_json = sprintf(json_encode(array("lat"=>"%s", "lng"=>"%s", "dragable"=>"false")),$row[0],$row[1]); 

    echo ($i >1 && !empty($locs_json)) ? ',' : ''; 
    print $locs_json; 
    $i++; 
    } 
    mysqli_free_result($result); 
} 
print "]"; 

簡單的解決方案:將根據櫃檯

+0

有了這個,我沒有得到任何逗號,但我想除非你嘗試這最後一個 –

+0

所有逗號? – Ima

+0

是@Ima,但輸出不是我要找的。我用nanocv答案,它適用於我 –

1

它看起來像你試圖編碼成JSON,手動部分和部分使用json_encode()。你可以得到json_encode()做所有的工作:

$rows = []; 
if ($result = mysqli_query($conn, $sql)) { 
    while ($row = mysqli_fetch_row($result)) { 
     $rows[] = [ 
      'lat' => $row[0], 
      'lng' => $row[1], 
      'dragable' => 'false', 
     ]; 
    } 
    mysqli_free_result($result); 
} 

echo json_encode($rows); 
+0

謝謝,這個作品太@ghatzhat –

相關問題