05.05.2018 12:31:08 pm
Недавно помогал в решении задачи удалить массив, если значение повторяется. Попробую объяснить подробнее. Например, имеем такой массив:
Задача: отсеять все массивы (в массиве
Мой вариант решения был таким:
Значит, тут, прогоняем массив
$array = array(
array(
'version' => '0.0.1',
'lang' => 'ru',
'release' => '13.02.2010'
),
array(
'version' => '0.0.1',
'lang' => 'ru',
'release' => '19.11.2010'
),
array(
'version' => '1.0.0',
'lang' => 'ru',
'release' => '14.08.2011'
)
);
Задача: отсеять все массивы (в массиве
$array
), где повторяется значение version
, то есть, должны остаться массивы только с уникальной версией продукта.Мой вариант решения был таким:
$count = count($array);
for ($i = 0; $i < $count; $i++)
{
if (empty($element))
{
$element = array();
$element[] = $array[$i]['version'];
}
else
{
if (in_array($array[$i]['version'], $element))
{
unset($array[$i]);
}
else
{
$element[] = $array[$i]['version'];
}
}
}
Значит, тут, прогоняем массив
$array
через цикл for
. При первой итерации создаем новый массив $element
, куда сразу же добавляем значение $array[1]['version']
. При следующих итерациях, проверяем наличие текущего значения, элемента version
, если его нет, то добавляем, если оно есть, удаляем массив. В итоге получаем массив с уникальными версиями продуктов.- Жалоба