Selon manuel php :
<?php
$a =& $b;
?>
// Note:
// $a and $b are completely equal here. $a is not pointing to $b or vice versa.
// $a and $b are pointing to the same place.
Je le suppose :
<?php
$x = "something";
$y = $x;
$z = $x;
devrait consommer plus de mémoire que :
<?php
$x = "something";
$y =& $x;
$z =& $x;
car, si j'ai bien compris, dans le premier cas, nous "dupliquons" la valeur. something
et l'affecter à $y
y $z
ayant à la fin 3 variables et 3 contenus, tandis que dans le deuxième cas nous avons 3 variables pointing
le même contenu.
Donc, avec un code comme :
$value = "put something here, like a long lorem ipsum";
for($i = 0; $i < 100000; $i++)
{
${"a$i"} =& $value;
}
echo memory_get_usage(true);
Je m'attends à avoir une utilisation de la mémoire inférieure à :
$value = "put something here, like a long lorem ipsum";
for($i = 0; $i < 100000; $i++)
{
${"a$i"} = $value;
}
echo memory_get_usage(true);
Mais l'utilisation de la mémoire est la même dans les deux cas.
Qu'est-ce que je rate ?