¿Cómo funciona realmente la memoria PHP?

Siempre he escuchado y buscado nuevas 'buenas prácticas de escritura' de php, por ejemplo: es mejor (para el rendimiento) verificar si existe una clave de matriz que buscar en la matriz, pero también parece mejor para la memoria:

Asumiendo que tenemos:

$array = array
(
    'one'   => 1,
    'two'   => 2,
    'three' => 3,
    'four'  => 4,
);

esto asigna 1040 bytes de memoria,

y

$array = array
(
    1 => 'one',
    2 => 'two',
    3 => 'three',
    4 => 'four',
);

requiere 1136 bytes

Entiendo que elkey yvalue seguramente tendrá un mecanismo de almacenamiento diferente, pero por favor, ¿puede indicarme el principio de cómo funciona?

Ejemplo 2(para @teuneboon):

$array = array
(
    'one'   => '1',
    'two'   => '2',
    'three' => '3',
    'four'  => '4',
);

1168 bytes

$array = array
(
    '1' => 'one',
    '2' => 'two',
    '3' => 'three',
    '4' => 'four',
);

1136 bytes

consumiendo la misma memoria:

4 => 'four','4' => 'four',

Respuestas a la pregunta(4)

Su respuesta a la pregunta