【问题标题】:reducing an array for sql query减少用于 sql 查询的数组
【发布时间】:2020-03-30 15:00:37
【问题描述】:

我有动态字段,所以我应该将列名和值放入一个数组中,然后减少我使用的 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'

【问题讨论】:

    标签: php sql arrays reduce


    【解决方案1】:

    您可以使用以下代码。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-09
      • 1970-01-01
      • 2014-06-05
      • 2016-10-24
      • 2020-09-29
      • 2015-06-04
      相关资源
      最近更新 更多