Php 如何在内爆函数中打印字符串
Php 如何在内爆函数中打印字符串,php,mysql,Php,Mysql,$color是数组 $sql=" SELECT * FROM products WHERE color IN (".implode(',', $color).")"; 其显示结果是 SELECT * FROM products WHERE color IN (red,green,blue); SELECT * FROM products WHERE color IN ('red','green','blue'); 将您的查询更新为 $sql="SELECT * FROM products
$color
是数组
$sql=" SELECT * FROM products WHERE color IN (".implode(',', $color).")";
其显示结果是
SELECT * FROM products WHERE color IN (red,green,blue);
SELECT * FROM products WHERE color IN ('red','green','blue');
将您的查询更新为
$sql="SELECT * FROM products WHERE color IN ('".implode("','", $color)."')";
//^^ ^^ ^^ ^^ Added
试试这个:
$sql = "SELECT * FROM products WHERE color IN ('".implode("','", $color)."')";
像这样使用它:
$sql = "select * from products where color IN ('".implode("','", $color)."')";
当使用
'
围绕内爆和“,”
作为粘合剂时,在这种情况下,您还可以使用数组_map
将数组的每个值用'
包围,然后用简单的内爆,
$color = ['red', 'green', 'blue'];
$string = implode(
',',
array_map(
function ($value) {
return "'{$value}'";
},
$color
)
);
echo $string; // => 'red','green','blue'
在这种情况下,它可能有些过分,并且可能比其他答案慢一些。将其用作”。内爆(“,”,$color)。“代码>//输出“红色”、“绿色”、“蓝色”