删除只有一个字符,而

问题描述:

我如何修剪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, ",");,但它移除所有的逗号,我需要所有的人除了最后一个。

的值的计数器和打印逗号我将尽其存储在一个变量的字符串。

当您完成添加值时,您执行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,现在它完美的工作!非常感谢 –

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答案,它适用于我 –

它看起来像你试图编码成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 –