È possibile utilizzare una stringa numerica come "123"
come chiave in un array PHP, senza che venga convertita in un numero intero?Una stringa numerica come chiave di array in PHP
$blah = array('123' => 1);
var_dump($blah);
stampe
array(1) {
[123]=>
int(1)
}
voglio
array(1) {
["123"]=>
int(1)
}
Dal momento che PHP è tipicamente digitato, '" 123 "' == '123' per quasi tutti gli scopi. Qual è il motivo per cui lo vuoi specificamente come stringa (e avere un int è cattivo)? – ircmaxell
La ragione che mi viene in mente riguarda le funzioni di array come 'array_merge' *" Se gli array di input hanno le stesse chiavi di stringa, il valore successivo per quella chiave sovrascriverà quello precedente. Se, ** tuttavia, gli array contengono numeri keys **, il valore successivo non sovrascriverà il valore originale, ma verrà aggiunto. "* – ficuscr
Un altro esempio in cui le stringhe numeriche come chiavi di array sono problematiche: [' asort'] (http://php.net/manual/en /function.asort.php) – swenedo