У меня есть ассоциативный массив как этогоСнимите соответствующий элемент в массиве
$arrz1=Array([sss] => Array
(
[0] => 315
[1] => 330
[2] => 345
[3] => 315
[4] => 330
[5] => 345
[6] => 360
[7] => 315
[8] => 330
[9] => 345
[10] => 360
[11] => 375
)
[fff] => Array
(
[0] => 315
[1] => 330
[2] => 345
[3] => 315
[4] => 330
[5] => 345
[6] => 360
[7] => 315
[8] => 330
[9] => 345
[10] => 360
[11] => 375
[12] => 750
[13] => 765
[14] => 780
)
)
Я хочу, чтобы достичь this.Provided размера массива может изменяться и каждый следующий не должен иметь предыдущий весь элемент:
Array([0] => Array
(
[0] => Array
(
[0] => 315
[1] => 330
[2] => 345
[3] => 315
[4] => 330
[5] => 345
[6] => 360
[7] => 315
[8] => 330
[9] => 345
[10] => 360
[11] => 375
)
)
[1] => Array
(
[0] => Array
(
[0] => 750
[1] => 765
[2] => 780
)
)
Нужно найти оптимальное решение с наименьшей временной сложностью. Так что результат получается достаточно быстро, чтобы достичь результата в соответствующем крайнем сроке. Так что я пробовал следующее
$array_key = array();
$array_val = array();
$mult = array();
foreach ($arrz1 as $key => $val) {
$diff = array();
foreach($val as $val1)
{
if(!in_array($val1, $array_val))
{
$diff[] = $val1;
}
}
if(!in_array($key, $array_key))
{
$array_key[] = $key;
//print_r($diff);
if(!empty($diff))
{
$mult[] = array($diff);
foreach($val as $value)
{
$array_val[] = $value;
}
}
else
{
$mult[] = array($val);
foreach($val as $value)
{
$array_val[] = $value;
}
}
}
}
Результат является правильным, но время слишком много
А что вы пробовали до сих пор – RiggsFolly
@RiggsFolly я добавил код – Lucky
Используйте 'array_diff () 'или' array_diff_assoc() 'в зависимости от ваших требований. – jeroen