我如何在内爆函数中打印字符串

时间:2016-06-24 06:06:34

标签: 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');

4 个答案:

答案 0 :(得分:4)

一样更新您的查询
$sql="SELECT * FROM products  WHERE color IN ('".implode("','", $color)."')";
                                           //^^         ^^  ^^          ^^ Added

答案 1 :(得分:4)

试试这个:

$sql = "SELECT * FROM products  WHERE color IN ('".implode("','", $color)."')";

答案 2 :(得分:0)

像这样使用它:

 $sql = "select * from products  where color IN ('".implode("','", $color)."')";

答案 3 :(得分:0)

在内部使用'"','"作为胶水在这种情况下像魅力一样工作时,你也可以使用array_map'围绕数组的每个值然后用简单的,

进行内爆
$color = ['red', 'green', 'blue'];
$string = implode(
    ',',
    array_map(
        function ($value) {
            return "'{$value}'";
        },
        $color
    )
);
echo $string; // => 'red','green','blue'

在这种情况下可能有点过分,可能比其他答案慢一些。