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数组中的是猴子,猪,狗
是动物
。