减少SQL查询的数组

时间:2020-03-30 15:00:37

标签: php sql arrays reduce

我具有动态字段,因此我应该将列名和值放入数组中,然后减少用于SQL查询的数组,我使用array_reduce()

这是针对列的:

function fscol($k1,$k2)
{
    return $k1 . "," . $k2;
}
$slides_col_reduce = array_reduce($slides_col, 'fscol');
$final_fscol = substr($slides_col_reduce,1);

无论我输入多少列名,它都可以正常工作。

但是我的问题是值数组:

function fslide($v1,$v2)
{
    return "'" . $v1 . ",'" . $v2 . "'";
}
$final_fslide = substr($slides_reduce,0);

即使我更改了substr偏移量,它也会根据值产生额外或更少的报价。例如:

'','Slide_1.jpg','Slide_4.jpg'

'''','Slide_1.jpg','Slide_2.jpg','Slide_3.jpg','Slide_4.jpg'

我该如何解决此问题?

注意:

这是用于SQL列值的。这就是我想要的输出->'Val1','Val2','Val3'

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码。

$str_fields = sprintf("'%s'", implode("','", $fields_array));

但是,如果您的值可能带有单引号,则应该考虑使用它。在这种情况下,您可以使用array_map。