在不改变数组的情况下从字符串中删除开始和结束字符

Removing beginning and end character from String without altering array

我运行查询显示数组。显示数组后,我在 Google 地图中使用它,因此数组需要以特定方式读取。

var addresses = ['Norway', 'Africa', 'Asia','North America','South America'];

所以我的数组必须读取 array', 'array', 'array 因为我将数组回显到地址中。

var addresses = ['<?php echo $namelist ?>'];

这是我的代码,它输出 'array'、'array'、'array'、

$resultsearch = $con->query("SELECT * FROM db") or die(mysqli_error());
$name = array();
while ($result = $resultsearch->fetch_object()) {
$name[] = $result->name;
$namelist = substr("'".implode($name)."', ", 0, -1);

如果我将 0、-1 更改为 1、-2,则剩下数组“数组”数组等。

我真的需要从字符串末尾删除 1 个字符和开头的 1 个字符而不改变数组的字符。

只是补充一点,使用 implode(',', $name); 没有显示 ',' 这就是我试图找到解决办法的原因。

有什么想法吗?

您的问题是:

  • 你用错了implode();:正确的是implode("', '",$names);
  • substr() 将无法工作,因为 implode().
  • 的使用不当

提示:不要使用 substr(),只需使用 rtrim('value',',');

要修复您的代码,请将其更改为:

 $name[] = "'{$result->name}'";
 $namelist = implode(', ',$name);

或这个

 $name[] = $result->name;
 $namelist = implode("', '",$name);

还有这个:

var addresses = [<?php echo $namelist ?>];

获取正确的 javascript/json 数组数据。

也适用: var addresses = <?php echo json_encode($namelist); ?>;

但是这里你不应该在收集到数组时在名称中添加 ' 单引号。

祝你有愉快的一天

我最后得到了 $namelist = "'".$result->name."'," 然后 echo $namelist;

我的结果是地址,我相信 implode(',', $name) 不会因为结果而起作用。