У меня есть следующий массив:
$masterlist=[$companies][$fieldsofcompany][0][$number]
Третье измерение существует, только если поле выбрано из $fieldsofcompany
= позиция 2, которая содержит массив чисел.Другие позиции содержат обычные переменные.3-е измерение всегда 0 (массив чисел) или ноль.Позиция 4 содержит числа.
Я хочу просмотреть все компании и удалить из $masterlist
все компании, которые содержат повторяющиеся номера.
Моя текущая реализация - это код:
for($i=0;$i<count($masterlist);$i++)
{
if($masterlist[$i][2][0][0] != null)
$id = $masterlist[$i][0];
for($j=0;$j<count($masterlist[$i][2][0]);$j++)
{
$number = $masterlist[$i][2][0][$j];
$query = "INSERT INTO numbers VALUES('$id','$number')";
mysql_query($query);
}
}
Который вставляет номера и связанные идентификаторы в таблицу.Затем я выбираю уникальные числа, например, так:
SELECT ID,number
FROM numbers
GROUP BY number
HAVING (COUNT(number)=1)
Это кажется мне невероятно мертвым.Мой вопрос, каков наилучший способ сделать это?Я не ищу код как таковой, но подходит к проблеме.Для тех из вас, кто прочитал это далеко, спасибо.