php |将数组转换为 FIND_IN_SET

标签 php mysql arrays find-in-set

我正在尝试将数组转换为查询字符串。也许你可以帮助我。

我的数组看起来像:

Array
(
    [3] => Array
        (
            [0] => 7
            [1] => 13
            [2] => 1
        )

    [4] => Array
        (
            [0] => 14
            [1] => 2
        )

)

我正在尝试将其转换为:

(FIND_IN_SET('13', vals) || FIND_IN_SET('7', vals) || FIND_IN_SET('1', vals)) AND (FIND_IN_SET('14', vals) || FIND_IN_SET('2', vals))

我该怎么做?谢谢!

最佳答案

这可能对你有帮助。

 [akshay@localhost tmp]$ cat test.php
 <?php

 $array = array(array(7,13,1),array(14,2));

 function convert_to_string($array)
 {
  return implode(" AND ",array_map(function($v){ return "(".implode(" || ", array_map( function($q){ return sprintf("FIND_IN_SET('%s', vals)",$q);},array_values($v))).")";},array_values($array)));    
 }

 echo convert_to_string($array);

 ?>

输出

 [akshay@localhost tmp]$ php test.php
 (FIND_IN_SET('7', vals) || FIND_IN_SET('13', vals) || FIND_IN_SET('1', vals)) AND (FIND_IN_SET('14', vals) || FIND_IN_SET('2', vals))

关于php |将数组转换为 FIND_IN_SET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30255775/

相关文章:

javascript - TypeScript 平面数组到对象树

php - 区分盗链与现场用户

mysql - 查询具有逗号分隔值的列

arrays - 如何将 jq 中相同字段值的值分组到数组中?

php - 合并 SELECT 查询和 SELECT COUNT 查询

php - mysql, php 使用多个用户标识计算每月的平均值

python - 使用 python 的主成分分析 (PCA)

PHP - 为什么要实现 HTTP 消息?

php - 需要在 mysql 表内弹出窗口

php - PHP Google Play订阅API