array_splice () для ассоциативных массивов

Konrad Rudolph - да, обычно финализатор не делает ничего вообще. Вы не должны реализовывать его, если Вы не имеете дело с неуправляемыми ресурсами.

Затем при реализации его Вы используете , Microsoft располагает шаблон (как уже описано)

  • public Dispose(), вызовы protected Dispose(true) - имеют дело и с управляемыми и с неуправляемыми ресурсами. Вызов Dispose() должен подавить завершение.

  • ~Finalize вызовы protected Dispose(false) - имеет дело с неуправляемыми ресурсами только. Это предотвращает неуправляемые утечки памяти, если Вам не удается звонить public Dispose()

~Finalize, является медленным, и не должен использоваться, если у Вас действительно нет неуправляемых ресурсов для контакта с.

Управляемые ресурсы не могут утечка памяти, они могут только потратить впустую ресурсы для текущего приложения и замедлить его сборку "мусора". Неуправляемые ресурсы могут просочиться, и ~Finalize лучшая практика, чтобы гарантировать, чтобы они не делали.

В любом случае using лучшая практика.

44
задан aksu 12 January 2014 в 08:10
поделиться

3 ответа

Я думаю, вам нужно сделать это вручную:

# Insert at offset 2
$offset = 2;
$newArray = array_slice($oldArray, 0, $offset, true) +
            array('texture' => 'bumpy') +
            array_slice($oldArray, $offset, NULL, true);
104
ответ дан 26 November 2019 в 21:41
поделиться

Я не уверен, есть ли для этого функция, но вы можете перебирать свой массив, сохранять индекс и использовать array_push.

1
ответ дан 26 November 2019 в 21:41
поделиться

Ну, вы можете перестроить массив с нуля. Но самый простой способ пройти через ассоциативный массив в определенном порядке - это сохранить отдельный массив упорядочивания. Примерно так:

$order=array('color','taste','texture','season');
foreach($order as $key) {
  echo $unordered[$key];
}
1
ответ дан 26 November 2019 в 21:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: