PHP 将单引号添加到逗号分隔的字符串
PHP adding single quotes to comma separated string
我知道我以前做过。我不确定为什么我要努力做这么简单的事情。
我想做的就是在逗号分隔的字符串中添加一个单引号。
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'
有趣的是,我正在使用一段我之前用过的代码。所以我不知道为什么代码在这里不起作用。
您的内爆设置不正确。
$numbers = "'" . implode("','", $splitnumber) . "'";
implode() 函数需要一个数组作为第二个参数。
看起来你的 $splitnumber 只是一个简单的字符串,而不是它应该是的字符串数组。
尝试使用 explode() 函数用逗号分隔您的 $splitnumber 并将其结果放入 implode 函数中。
应该是这样的(未测试):
$splitnumber = ...;
$splittedNumbers = explode(",", $splitnumber);
$numbers = "'" . implode("', '", $splittedNumbers) ."'";
可能有一个更简洁的解决方案,只需将所有出现的 , 替换为“,”即可。
我知道我以前做过。我不确定为什么我要努力做这么简单的事情。
我想做的就是在逗号分隔的字符串中添加一个单引号。
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'
有趣的是,我正在使用一段我之前用过的代码。所以我不知道为什么代码在这里不起作用。
您的内爆设置不正确。
$numbers = "'" . implode("','", $splitnumber) . "'";
implode() 函数需要一个数组作为第二个参数。 看起来你的 $splitnumber 只是一个简单的字符串,而不是它应该是的字符串数组。 尝试使用 explode() 函数用逗号分隔您的 $splitnumber 并将其结果放入 implode 函数中。
应该是这样的(未测试):
$splitnumber = ...;
$splittedNumbers = explode(",", $splitnumber);
$numbers = "'" . implode("', '", $splittedNumbers) ."'";
可能有一个更简洁的解决方案,只需将所有出现的 , 替换为“,”即可。