3

我有一个国家/地区列表作为一个数组..我希望这个数组以下列格式稍后通过 ajax 返回它:-

“印度”、“美国”、“英国” ..

使用以下代码来获得我一直在寻找的东西..

foreach($country_list as $country) {
   $countries .= '"'.$country['label'].'",';
}

问题是它给出的输出像 "india","usa","uk", ... 即带有尾随逗号。

试图删除它

substr_replace($countries, "0", -1);

rtrim($countries, ",");

但是没有用!.. 请帮忙 !

4

9 回答 9

7

我认为您缺少在修剪后重新分配变量:

$s = '"india","usa","uk",';
$s = rtrim($s, ',');
// prints "india","usa","uk"
print $s;

演示

先试后买

于 2013-08-16T09:43:56.563 回答
6

试试这个substr()mb_substr()

substr($string, 0, -1);
mb_substr($string, 0, -1);

或检查此链接

于 2013-08-16T09:38:50.770 回答
1

您是否尝试过使用:str_replace(",", " ", $countries);

此函数应该用空格替换每次出现的逗号。

于 2013-08-16T09:41:21.380 回答
1
if (strlen($b) > 1){
   $b = substr($b,0, -1);
}
于 2019-01-23T15:52:30.177 回答
0

改用implode

$arr = array();
foreach($country_list as $country)
  array_push($arr, $country['label']);
$comma_separated = implode(",", $arr);
于 2013-08-16T09:38:01.647 回答
0

尝试这个

$countries = [];
foreach($country_list as $country) {
   $countries[] = $country['label'];
}
$new_array = implode(",", $countries);
于 2013-08-16T09:41:01.177 回答
0

尝试这个

  1. 创建一个变量 ($comsep) 并将其初始化为一个空字符串。
  2. 在 foreach 循环中,将变量 ($comsep) 连接到字符串的开头。
  3. 在 foreach 循环中添加一个额外的语句以将变量 ($comsep) 设置为值 "," - 在连接语句之后。

这将在每个附加字符串的开头添加一个逗号,第一个字符串除外。the 不再是要处理的尾随逗号,因此无需尝试将其修剪掉。

于 2013-08-16T09:47:56.397 回答
0

// 尝试在php.ini中使用chop()函数。它有助于从字符串中删除最后一个字符

<?php
    echo '<br>' .$country_name = "'USA','UK','India',";
    echo '<br>' .chop($country_name,",");
    exit;
?>

输出:“美国”、“英国”、“印度”

于 2020-01-27T05:22:39.003 回答
-1
foreach($country_list as $country) {
   $countries[] = $country['label'];
}
json_encode($countries); 
于 2013-08-16T09:43:30.100 回答