Size: a a a

2020 May 05

UM

Utsr Mapper in phpGeeksJunior
источник

️️

️️👑OGURCHIK 🖤 ️... in phpGeeksJunior
Дмитрий Кожанов
Хз, быстрее или нет. но вот
$array = [1,2,3,4,5,6,7,8,9,0];

$resArray = [];

foreach ($array as $key => $value) {
   $temp = $array;
   array_splice($temp, $key, 1);
   $resArray += [$value => $temp];
}

print_r($resArray);


Но будет работать только  при плоском массиве
🤔
источник

️️

️️👑OGURCHIK 🖤 ️... in phpGeeksJunior
А че не форыч с ансетом
источник

️️

️️👑OGURCHIK 🖤 ️... in phpGeeksJunior
Мне кажется так будет быстрее
источник

/

/bin/cat in phpGeeksJunior
array_splice вызывает перераспределение памяти
источник

/

/bin/cat in phpGeeksJunior
Насчёт unset не знаю, наверное это происходит позже
источник

/

/bin/cat in phpGeeksJunior
Из-за GC
источник

/

/bin/cat in phpGeeksJunior
unset не смещает индексы, вот в чем проблема
источник

ДК

Дмитрий Кожанов... in phpGeeksJunior
/bin/cat
unset не смещает индексы, вот в чем проблема
Я ваще об этом не думал. Но ок ))
источник

S

Sergey in phpGeeksJunior
Utsr Mapper
это у вас биополяр очька
Чел,биполяр очка,как ты выразился у тебя. Удачи с решением проблемы (которая не проблема,а секунда гугления) . Тебе не помочь.
источник

M

Maestro in phpGeeksJunior
батя
источник

/

/bin/cat in phpGeeksJunior
Хм, может быть это будет медленнее из-за копирования массива на каждой итерации
источник

ДК

Дмитрий Кожанов... in phpGeeksJunior
/bin/cat
Хм, может быть это будет медленнее из-за копирования массива на каждой итерации
Но это копирование а не перебор 🙂
источник

/

/bin/cat in phpGeeksJunior
До этого я сделал такой же алгоритм, который юзает ссылки
источник

/

/bin/cat in phpGeeksJunior
Но проблема в том, что это не уменьшает количество циклов, при условии перебора по ссылкам
источник

️️

️️👑OGURCHIK 🖤 ️... in phpGeeksJunior
$array = [1,2,3,4,5,6,7];
$new = [];
             
foreach( $array as $key => $value ){
   $temp = $array;
   unset($temp[$key]);
   $new[] = $temp;
}

var_dump($new);
источник

️️

️️👑OGURCHIK 🖤 ️... in phpGeeksJunior
или я не понял задачу?
источник

ДК

Дмитрий Кожанов... in phpGeeksJunior
Ссылка меняет исходный массив я бы ещё сделал array_values($temp)
источник

/

/bin/cat in phpGeeksJunior
Это тоже работает, но там ключи кривые
источник

ДК

Дмитрий Кожанов... in phpGeeksJunior
/bin/cat
Это тоже работает, но там ключи кривые
Решение с ключами выше
источник