减少 sql 查询的数组
reducing an array for sql query
我有动态字段,所以我应该将列名和值放入一个数组中,然后为 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'
您可以使用以下代码。
$str_fields = sprintf("'%s'", implode("','", $fields_array));
但是如果你的值可能有单引号,你应该考虑一下。在这种情况下,您可以使用 array_map.
我有动态字段,所以我应该将列名和值放入一个数组中,然后为 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'
您可以使用以下代码。
$str_fields = sprintf("'%s'", implode("','", $fields_array));
但是如果你的值可能有单引号,你应该考虑一下。在这种情况下,您可以使用 array_map.