Php 同时只删除一个字符
如何在中只修剪Php 同时只删除一个字符,php,Php,如何在中只修剪中的一个字符?请参见此示例: 我想要的: [{"lat":"mylat","lng":"mylong","dragable":"false"}, {"lat":"mylat","lng":"mylong","dragable":"false"}]` 我得到了什么: [{"lat":"mylat","lng":"mylong","dragable":"false"}, {"lat":"mylat","lng":"","dragable":"false"},] 我只想删除}和]
中的一个字符?请参见此示例:
我想要的:
[{"lat":"mylat","lng":"mylong","dragable":"false"},
{"lat":"mylat","lng":"mylong","dragable":"false"}]`
我得到了什么:
[{"lat":"mylat","lng":"mylong","dragable":"false"},
{"lat":"mylat","lng":"","dragable":"false"},]
我只想删除}
和]
之间的逗号,但我不知道如何删除
守则:
我尝试添加一个rtrim($locs,“,”)代码>在打印后,但它删除了所有逗号,我需要所有逗号,除了最后一个
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 "]";
简单的解决方案:添加一个计数器并根据计数器的值打印逗号。我会将字符串存储在变量中
添加完值后,执行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;
看起来您正在尝试编码为JSON,部分手动,部分使用JSON\u encode()
。您可以使用json\u 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);
有了这个,我得到了所有的逗号,包括我想要删除的那个@nanocv@DiegoBarreiro我的错!修好了!您必须将rtrim的结果重新分配给变量Thank you@nanocv,现在它可以完美地工作了!谢谢lot@DiegoBarreiro真高兴!请考虑对这个问题进行投票和验证,我没有任何逗号,但是我想得到所有逗号,除了最后一个,你试过这个吗?是的,IMA,但是输出不是我要找的。我使用了nanocv答案,它对我有效。OK发现了一个错误!更正。变量名是错误的。不管怎样,很好,你有工作代码
$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);