Scusa, ma non credo di aver afferrato

$value[0] = 123;
$value[1] = 456;

Che cosa dovrebbero essere?

Cmq, tu fai una cosa del genere:

Codice PHP:
$v12;
$magazzino = array($v1, @$v2);
$v2 5;
print_r($magazino); 
Ti aspetti che ti stampa array([0]=> 2, [1]=> 5) , giusto ?
Chiaramente così non funziona, perchè l'array è costruito per copia.
Prova a fare

$magazzino = array($v1, &$v2);