Php 删除最后一个字符

Php 删除最后一个字符,php,Php,我注意到在stackoverflow中有很多这样的主题,但是我读到的主题只有一个变量,我有两个,我有点困惑 这是我的密码 $query = mysql_query("SELECT Provider.provider_id, provider.company_name FROM Provider"); while($row = mysql_fetch_array($query)){ echo "'".$row['provider_id']."':'".$row['company_name

我注意到在stackoverflow中有很多这样的主题,但是我读到的主题只有一个变量,我有两个,我有点困惑

这是我的密码

$query = mysql_query("SELECT Provider.provider_id, provider.company_name FROM Provider");

while($row = mysql_fetch_array($query)){
    echo "'".$row['provider_id']."':'".$row['company_name']."',";

}
我正在使用它为这个表生成javascript代码

我需要去掉最后一个逗号,这样我就可以用剩下的代码结束了

$query = mysql_query("SELECT Provider.provider_id, provider.company_name FROM Provider");
$result = "";
while($row = mysql_fetch_array($query)){
    $result .= "'".$row['provider_id']."':'".$row['company_name']."',";
}
$result = rtrim($result, ',');

获取记录计数(
mysql\u num\u rows($query)
),当您点击最后一行时,只需执行您想要的操作


获取记录计数(
mysql\u num\u rows($query)
),当您点击最后一行时,只需做您想做的事情

,所以我通常只是将类似的内容堆叠到一个数组中,然后内爆:

$parts = array();
while($row = mysql_fetch_array($query)){
    $parts[] =  "'".$row['provider_id']."':'".$row['company_name']."'";

}

echo implode(',', $parts);
也就是说,看起来您正在输出JSON字符串的主体。如果是这样,您不应该手动构建它,您应该使用
json\u encode

$data = array();
while($row = mysql_fetch_array($query)){
    $data[$row['provider_id']] = $row['company_name'];

}

echo json_encode($data);

所以我通常只是将这样的东西堆叠成一个数组,然后内爆:

$parts = array();
while($row = mysql_fetch_array($query)){
    $parts[] =  "'".$row['provider_id']."':'".$row['company_name']."'";

}

echo implode(',', $parts);
也就是说,看起来您正在输出JSON字符串的主体。如果是这样,您不应该手动构建它,您应该使用
json\u encode

$data = array();
while($row = mysql_fetch_array($query)){
    $data[$row['provider_id']] = $row['company_name'];

}

echo json_encode($data);

我喜欢使用数组:

$query = ...;
$out = Array();
while($row = mysql_fetch_assoc($query)) {
    $out[] = "'".$row['provider_id']."':'".$row['company_name']."'";
}
echo implode(",",$out);
不过,看起来您正在尝试输出某种JSON,因此您可以使用:

$query = ...;
$out = Array();
while($row = mysql_fetch_assoc($query)) {
    $out[$row['provider_id']] = $row['company_name'];
}
echo json_encode($out);

我喜欢使用数组:

$query = ...;
$out = Array();
while($row = mysql_fetch_assoc($query)) {
    $out[] = "'".$row['provider_id']."':'".$row['company_name']."'";
}
echo implode(",",$out);
不过,看起来您正在尝试输出某种JSON,因此您可以使用:

$query = ...;
$out = Array();
while($row = mysql_fetch_assoc($query)) {
    $out[$row['provider_id']] = $row['company_name'];
}
echo json_encode($out);

将整个字符串保存到一个变量中,然后在while过程中删除最后一个字符。。然后从您的回显中删除最后一个逗号。您正在尝试创建JSON字符串吗?@MikeBrant我认为他只需要从循环的末尾删除逗号(而不是每个循环)将整个字符串保存到一个变量中,然后在while过程中删除最后一个字符。。然后从您的回显中删除最后一个逗号。您正在尝试创建JSON字符串吗?@MikeBrant我认为他只需要从循环的末尾(而不是每个循环)删除逗号,这不完全是JSON。JSON在字符串周围使用双引号,这是使用单引号。但这两种方法都可能适用于此应用程序。另外,
json\u encode
将正确转义嵌入的引号。它不完全是json。JSON在字符串周围使用双引号,这是使用单引号。但这两种方法都可能适用于此应用程序。另外,
json\u encode
将正确转义嵌入的引号。