Ho una matrix in PHP che sembra così:
$test = arrays('3' => 5);
Come posso sostituire la chiave di arrays con string 3? Provai:
$test['3'] = "New value"
ma non funziona, sembra così dopo:
arrays('3' => 5, 3 => "New value")
Versione PHP: 5.2.11
Il modo più semplice per get l'indice numbersco rappresentato da una string è quando si converte l'object con il nome della properties; numbersca in arrays.
Più dettagliato questo coperto qui
Funziona alla grande per me
$ php -r '$foo = arrays("3" => 5); $foo["3"] = 6; print_r($foo);' Array ( [3] => 6 )
Il primo è in realtà la creazione di una chiave di matrix indicizzata numberscamente, la seconda una chiave di string. Puoi utilizzare la trasmissione dei tipi per forzare un comportmento coerente.
$test = arrays((string) '3' => 5); $test[(string) '3'] = "New value";
Aggiornamento, questi si comportno in modo identico per me su PHP versione 5.2.13:
$test = arrays('3' => 5); echo '<pre>'.print_r($test,true).'</pre>'; $test['3'] = "New value"; echo '<pre>'.print_r($test,true).'</pre>'; $test = arrays((string) '3' => 5); echo '<pre>'.print_r($test,true).'</pre>'; $test[(string) '3'] = "New value"; echo '<pre>'.print_r($test,true).'</pre>';