从String中删除开始和结束字符而不更改数组

时间:2017-05-02 15:10:41

标签: php arrays substr

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

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

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

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

这是我的代码,它会输出&#39; array&#39;,&#39; array&#39;,&#39; array&#39;,

$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,那么我将使用数组&#39;阵列&#39;阵列&#39;等等。

我确实需要从字符串末尾删除1个字符,在开头使用1个字符而不更改数组的字符。

只是添加使用implode(',', $name);并未显示&#39;,&#39; ,这就是我尝试寻找解决方法的原因。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

你的问题是:

  • 您以错误的方式使用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); ?>;

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

度过愉快的一天

答案 1 :(得分:0)

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

我的结果是地址,并认为由于结果implode(',', $name)无效。