Как на самом деле работает память PHP
Я всегда слышал и искал новый php «хорошая практика написания», например: Лучше (для производительности) проверить, существует ли ключ массива, чем искать в массиве, но также он кажется лучше для памяти:
Предполагая, что мы имеем:
$array = array
(
'one' => 1,
'two' => 2,
'three' => 3,
'four' => 4,
);
это выделяет 1040 байт памяти,
а также
$array = array
(
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
);
требуется 1136 байт
Я понимаю чтоkey
а такжеvalue
конечно, будет другой механизм хранения, но, пожалуйста, не могли бы вы указать мне принцип, как он работает?
Пример 2(для @teuneboon):
$array = array
(
'one' => '1',
'two' => '2',
'three' => '3',
'four' => '4',
);
1168 байт
$array = array
(
'1' => 'one',
'2' => 'two',
'3' => 'three',
'4' => 'four',
);
1136 байт
потребляя ту же память:
4 => 'four',
'4' => 'four',