PHP将单引号添加到逗号分隔的字符串

时间:2018-04-13 20:45:23

标签: php string delimiter quote

我知道我以前做过这件事。我不知道为什么我在努力做这么简单的事情。

我要做的就是在逗号分隔的字符串中添加单引号。

php进程最初看起来像这样:

<?php
  $checknumber = mysqli_real_escape_string($dbc,trim($_POST['checknumber']));

 $splitnumber = preg_replace('/\n$/','',preg_replace('/^\n/','',preg_replace('/[\r\n]+/',"\n",$checknumber )));

 $numbers = "'" . implode("', '", $splitnumber ) ."'";

 echo $checknumber;
 echo $splitnumber;
 echo $numbers;
?>

结果如下:

// $checknumber
AMD111111,AMD222222,AMD333333

// $splitnumber
AMD111111,AMD222222,AMD333333

// $numbers
''

我需要$ number的结果看起来像这样:

'AMD111111','AMD222222','AMD333333'

有趣的是,我正在使用我之前使用过的一段代码。所以我不知道为什么代码不能在这里工作。

2 个答案:

答案 0 :(得分:2)

implode()函数需要一个数组作为第二个参数。 看起来你的$ splitnumber只是一个简单的字符串,而不是一个字符串数组,应该是它。 尝试使用explode()函数用逗号分割你的$ splitnumber,并将其结果放在implode函数中。

看起来应该是这样(未经测试):

$splitnumber = ...;
$splittedNumbers = explode(",", $splitnumber);
$numbers = "'" . implode("', '", $splittedNumbers) ."'";

可能只需用&#39;替换所有出现的更清晰的解决方案。

答案 1 :(得分:-1)

您的内爆未正确设置。

$numbers = "'" . implode("','", $splitnumber) . "'";