0
我有一个php数组,其中包含以下格式的数据。可能只有唯一的值和一个NULL值,这需要消极的像其他值匹配。PHP将独特项目数组转换为复杂的查询字符串
$colors = array_unique([
NULL,
"red",
"black"
]);
我想把它转换成以下:
$converted = [
"NOT LIKE '%red%' AND NOT LIKE '%black%'",
"LIKE '%red%' AND NOT LIKE '%black%'",
"LIKE '%black%' AND NOT LIKE '%red%'"
];
我怎样才能做到这一点?
我无法得到我的头如何在PHP中实现这一点,我已经尝试了foreach循环与数组的不同组合,但我不能动态地做到这一点,以便第一个$colour
数组可以扩展的值,但它保持相同的原则(请参阅相同结构中扩展数据的示例2)。
例2
$colors = array_unique([
NULL,
"red",
"black",
"purple",
"orange"
]);
$converted = [
"NOT LIKE '%red%' AND NOT LIKE '%black%' AND NOT LIKE '%purple%' AND NOT LIKE '%orange%'",
"LIKE '%red%' AND NOT LIKE '%black%' AND NOT LIKE '%purple%' AND NOT LIKE '%orange%'",
"LIKE '%black%' AND NOT LIKE '%purple%' AND NOT LIKE '%orange%' AND NOT LIKE '%red%'",
"LIKE '%purple%' AND NOT LIKE '%orange%' AND NOT LIKE '%red%' AND NOT LIKE '%black%'",
"LIKE '%orange%' AND NOT LIKE '%red%' AND NOT LIKE '%black%' AND NOT LIKE '%purple%'",
];
这一工程,但它打破如果只有两个值'[NULL, '红'] '例如? – Dan
我已更新代码以处理此问题。 –