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
我已更新代碼以處理此問題。 –