PHP在不使用循环的情况下将逗号分隔的值字符串转换为另一种格式
在php中,如果我有一个来自数据库的逗号分隔数据字符串:PHP在不使用循环的情况下将逗号分隔的值字符串转换为另一种格式,php,Php,在php中,如果我有一个来自数据库的逗号分隔数据字符串: 约翰、保罗、林戈、乔治 我怎样才能将它转换成这样的东西,而不使用for循环或任何额外的处理。php有一个函数可以做到这一点吗 $str = 'John','Paul','Ringo','George'; 我目前使用explode拆分字符串,然后重新格式化它。不管怎么说,要做到这一点而不做那件事 格式化的字符串被发送到SQL,在SQL中,它被用于MySQLin()函数。您可以在PHP中使用and函数 $names = explode(',
约翰、保罗、林戈、乔治
我怎样才能将它转换成这样的东西,而不使用for循环或任何额外的处理。php有一个函数可以做到这一点吗
$str = 'John','Paul','Ringo','George';
我目前使用explode拆分字符串,然后重新格式化它。不管怎么说,要做到这一点而不做那件事
格式化的字符串被发送到SQL,在SQL中,它被用于MySQLin()
函数。您可以在PHP中使用and函数
$names = explode(',', 'John,Paul,Ringo,George');
echo implode(',', $names);
我希望我没弄错:
$str_1 = 'John,Paul,Ringo,George';
$str_2 = explode(',', $str_1);
$str_3 = implode('\',\'', $str_2);
$str_4 = '\''.$str_3.'\'';
echo $str_4;
输出:'John'、'Paul'、'Ringo'、'George'
您可以使用$1东西
$l = 'John,Paul,Ringo,George';
$lx = "'" . implode("','", explode(",", $l)) . "'";
echo $lx; // 'John','Paul','Ringo','George'
更新:
请参阅用法示例:
echo preg_replace('((\\w+)(,?))', '"$1"$2', 'John,Paul,Ringo,George');
如果您绝对不想使用explode(),可以使用
$str = 'John,Paul,Ringo,George';
$newStr = "'" . str_replace(",","','", $str) . "'";
您可以像下面那样使用explode
$db_data = 'John,Paul,Ringo,George';//from your db
$l = explode(',',$db_data);
echo "select * from table where column IN('".implode("','",$l)."')";
输出:
select * from table where column IN('John','Paul','Ringo','George')
$str='John'、'Paul'、'Ringo'、'George'
是错误的语法,而正确的语法是?$str=“'John'、'Paul'、'Ringo'、'George'代码>?使用mysql.Ok的用户ID。你的意思是它对php是错误的。但对于MySQL来说,这是正确的。我不会在php中重复它,只会将它发送到sql语句。我已经这样做了,但是我如何得到“John”、“Paul”等。我最终得到的是“John,Paul”,您的答案需要更改为echo introde(“\”,“\”,“$names”)代码>以获取所需格式。+1表示最快的解决方案。它比内爆/爆炸组合快2倍左右。