Я пытаюсь создать динамические представления таблиц. У меня два массива. Я хочу создать строку, если есть совпадение.Сравнение массивов в PHP
Вот массивы:
(
[0] => 20
[optionid] => 20
)
Array
(
[0] => Array
(
[1] => GROUP_CONCAT(if(optionid = 1, value_name, NULL)) AS 'Color'
)
[1] => Array
(
[22] => GROUP_CONCAT(if(optionid = 22, value_name, NULL)) AS 'Crystal Color'
)
[2] => Array
(
[25] => GROUP_CONCAT(if(optionid = 25, value_name, NULL)) AS 'Gauge'
)
[3] => Array
(
[35] => GROUP_CONCAT(if(optionid = 35, value_name, NULL)) AS 'Height'
)
[4] => Array
(
[18] => GROUP_CONCAT(if(optionid = 18, value_name, NULL)) AS 'Length'
)
[5] => Array
(
[33] => GROUP_CONCAT(if(optionid = 33, value_name, NULL)) AS 'Pieces in Pack'
)
[6] => Array
(
[26] => GROUP_CONCAT(if(optionid = 26, value_name, NULL)) AS 'Pincher Size'
)
[7] => Array
(
[24] => GROUP_CONCAT(if(optionid = 24, value_name, NULL)) AS 'Rack'
)
[8] => Array
(
[20] => GROUP_CONCAT(if(optionid = 20, value_name, NULL)) AS 'Ring Size'
)
[9] => Array
(
[2] => GROUP_CONCAT(if(optionid = 2, value_name, NULL)) AS 'Size'
)
[10] => Array
(
[34] => GROUP_CONCAT(if(optionid = 34, value_name, NULL)) AS 'Size in Pack'
)
)
Например, значение 20 на первом массиве совпадения ключа 20 на втором, так Я хочу добавить значение в строку. Если они более двух совпадений, я хочу, чтобы строка была добавлена.
конечный результат должен выглядеть
$string = "GROUP_CONCAT(if(optionid = 20, value_name, NULL)) AS 'Ring Size'"
, если более чем один матч.
$string = "GROUP_CONCAT(if(optionid = 20, value_name, NULL)) AS 'Ring Size', NEXT MATCHED VALUE"
легко один из самых неудобных структур массива, которые я видел в некоторое время. Почему индексы повсюду? – NullUserException
Индексы во вспомогательных массивах второго массива - это атрибут, который я пытаюсь сопоставить с первым массивом. Первый массив - это результат mysql. Я построил второй, чтобы изменить его, если это поможет. – Busilinks