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

问题描述 投票:0回答:3

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

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

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
''

我需要 $numbers 的结果如下所示:

'AMD111111','AMD222222','AMD333333'

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

php string delimiter quote
3个回答
4
投票

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

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

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

可能有一个更干净的解决方案,只需将所有出现的 , 替换为 ','。


0
投票

像这样添加 "'".$rows['AccountNumber']."";


-1
投票

您的内爆设置不正确。

$numbers = "'" . implode("','", $splitnumber) . "'";
© www.soinside.com 2019 - 2024. All rights reserved.