Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何根据特定类别对数组值进行分组_Php_Mysql_Arrays - Fatal编程技术网

Php 如何根据特定类别对数组值进行分组

Php 如何根据特定类别对数组值进行分组,php,mysql,arrays,Php,Mysql,Arrays,多选择选项的阵列输出 Array ( [q] => Array ( [0] => monkey [1] => pig [2] => dog [3] => banana [4] => apple [5] => mango [6] => lavender

多选择选项的阵列输出

Array
(
    [q] => Array
        (
            [0] => monkey
            [1] => pig
            [2] => dog
            [3] => banana
            [4] => apple
            [5] => mango
            [6] => lavender
            [7] => magnolia
            [8] => marigold

        )

)
代码

$queryArray  = array_map("secure", $_GET['q']);
$inArray     = array();

foreach ($queryArray as $key) {
    $inArray[] = 'animals="' . $key . '"';
}

$sql = 'SELECT * FROM kids WHERE ' . implode(' AND ', $inArray) . '';
echo $sql;
问题:

如何将当前阵列分组为

animals = monkey,pig,dog
fruits  = banana,apple,mango
flowers = lavender,magnolia, marigold

可以手动过滤该值,或者如果_数组中的
是动物,则可以过滤该值

然后做一个正确的MySQL语句,得到如下结果

SELECT * 
FROM kids 
  WHERE 
   (animals="monkey" OR animals="pig" OR animals="dog")
AND 
   (fruits="banana" OR fruits="apple" OR fruits="mango") 
AND 
   (flowers="lavender" OR flowers="magnolia" OR flowers="marigold")

让我知道。

您可以使用PHP关联数组存储查询,如下所示:

$inArray['animals'] = SELECT * FROM kids WHERE 
                      (animals="monkey" OR animals="pig" OR animals="dog")

$inArray['fruits']  = SELECT * FROM kids WHERE
                      (fruits="banana" OR fruits="apple" OR fruits="mango") 

$inArray['flowers'] = SELECT * FROM kids WHERE
                     (flowers="lavender" OR flowers="magnolia" OR flowers="marigold")

可以使用PHP关联数组存储查询,如下所示:

$inArray['animals'] = SELECT * FROM kids WHERE 
                      (animals="monkey" OR animals="pig" OR animals="dog")

$inArray['fruits']  = SELECT * FROM kids WHERE
                      (fruits="banana" OR fruits="apple" OR fruits="mango") 

$inArray['flowers'] = SELECT * FROM kids WHERE
                     (flowers="lavender" OR flowers="magnolia" OR flowers="marigold")

PHP不知道猴子是动物,香蕉是水果。可能需要手动筛选值,或者如果\u数组中的
动物,则需要手动筛选值。PHP不知道猴子是动物,香蕉是水果。可能需要手动筛选值,或者如果\u数组中的
猴子,猪,狗
动物