C'è un modo per convertire un intero in una stringa in PHP?Conversione di un intero in una stringa in PHP
risposta
È possibile utilizzare la funzione strval()
per convertire un numero in una stringa.
Dal punto di vista della manutenzione è ovvio quello che stai cercando di fare piuttosto che alcune delle altre risposte più esoteriche. Certo, dipende dal tuo contesto.
$var = 5;
// Inline variable parsing
echo "I'd like {$var} waffles"; // = "I'd like 5 waffles
// String concatenation
echo "I'd like ".$var." waffles"; // I'd like 5 waffles
// Explicit cast
$items = (string)$var; // $items === "5";
// Function call
$items = strval($var); // $items === "5";
Si prega di prendere in considerazione la possibilità di ovviare ai potenziali potenziali fori di iniezione SQL ... – gahooa
Buon punto. Ho buttato dentro alcune funzioni mysql_escape_string per pulirlo. –
modificato poiché mysql_escape_string è deprecato poiché ignora il set di caratteri. – Kzqai
$foo = 5;
$foo = $foo . "";
ora $foo
è una stringa.
Ma potresti voler abituarti al casting. Come casting è il modo corretto per realizzare qualcosa del genere.
$foo = 5;
$foo = (string)$foo;
Un altro modo è quello di incapsulare tra virgolette:
$foo = 5;
$foo = "$foo"
Ci sono molti modi per farlo.
due esempi:
$str = (string) $int;
$str = "$int";
Vedere il Manuale PHP su Types Juggling di più.
+1: '$ str =" $ var ";' è il mio modo preferito di trasmettere le stringhe. – Jazzerus
@Jazzerus Se $ var è uguale a 0 (zero), diventa una stringa vuota. Problematico. –
Conversione da '0' a' "" 'potrebbe non essere negativo; dipende davvero dall'applicazione. Detto questo, sei un buon punto. – Jazzerus
È possibile utilizzare l'operatore periodo e concatenare una stringa ad esso (e sarà di tipo pressofuso in una stringa):
$integer = 93;
$stringedInt = $integer."";
o, più correttamente, si può semplicemente digitare lanciare il numero intero a un stringa:
$integer = 93;
$stringedInt = (string) $integer;
Direi che dipende dal contesto. strval() o l'operatore di casting (stringa) potrebbe essere utilizzato, tuttavia nella maggior parte dei casi PHP deciderà cosa è giusto per te, se ad esempio lo usi con echo o printf ... Una piccola nota: die() richiede una stringa e non mostrerà alcun int :)
"nella maggior parte dei casi PHP deciderà cosa ti fa bene" incredibile:,) – itsjavi
Ci sono diversi modi per "convertire" un intero in una stringa in PHP.
Il modo tradizionale CS sarebbe cast della variabile come una stringa
$int = 5;
$int_as_string = (string) $int;
echo $int . ' is a '. gettype($int) . "\n";
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
Si potrebbe anche trarre vantaggio di PHP tipo implicito conversione e interpolazione di stringhe
$int = 5;
echo $int . ' is a '. gettype($int) . "\n";
$int_as_string = "$int";
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
$string_int = $int.'';
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
Infine, simile al precedente , qualsiasi funzione che accetta e restituisce una stringa può essere utilizzata per convertire e numero intero. Si consideri il seguente
$int = 5;
echo $int . ' is a '. gettype($int) . "\n";
$int_as_string = trim($int);
echo $int_as_string . ' is a '. gettype($int_as_string) . "\n";
io non consiglierei l'opzione finale, ma ho visto il codice in natura che si basava su questo comportamento, così ho pensato di passarlo insieme.
Come le risposte qui dimostrano bene, sì, ci sono diversi modi. Tuttavia, in PHP raramente hai effettivamente bisogno di farlo. Il "modo dogmatico" per scrivere PHP è fare affidamento sul sistema di digitazione libera del linguaggio, che costringerà il tipo in modo trasparente secondo necessità. Per i valori interi, di solito questo è senza problemi.Dovresti stare molto attento con i valori in virgola mobile, comunque.
Non credo che PHP costringerà un intero a stringere tutto il tempo. Lo farà per 'strlen (12345);' ma non per '$ x = 12345; echo $ x [2]; 'Tutte queste funzioni di casting sono abbastanza utili e molti programmatori stanno controllando i loro tipi sempre di più. –
$integer = 93;
$stringedInt = $integer.'';
è più veloce di
$integer = 93;
$stringedInt = $integer."";
$ foo = 5; $ foo = "$ foo" estremamente a vita per la memoria in uso PHP ''. –
$intValue = 1;
$string = sprintf('%d',$intValue);
o potrebbe essere:
$string = (string)$intValue ;
o:
settype(&$intValue ,'string');
Ci sono molte possibili conv ersioni:
$input => 123
sprintf('%d',$input) => 123
(string)$input => 123
strval($input) => 123
settype($input, "string") => 123
Tutte queste risposte sono ottime, ma tutte restituiscono una stringa vuota se il valore è zero.
provare quanto segue:
$v = 0;
$s = (string)$v : (string)$v ? "0";
Si noti che la domanda specifica "conversione di un numero intero", non di un valore float. :) –
si può semplicemente utilizzare il seguente:
$intVal = 5;
$strVal = trim($intVal);
- 1. Conversione di una stringa in un intero restituisce 2147483647
- 2. Conversione di una stringa in numero intero in Schema
- 3. Conversione di una stringa in un costante definita in PHP
- 4. Convertire un intero grande in una stringa intera in PHP
- 5. Conversione di una stringa in un doppio
- 6. iOS/C: conversione "intero" in stringa di quattro caratteri
- 7. C# Conversione di una stringa contenente un punto mobile in un numero intero
- 8. Conversione stringa javascript in array php
- 9. Conversione da stringa a numero intero
- 10. PHP stringa divisa in elemento intero e la stringa
- 11. Come ottenere un intero da MySQL come intero in PHP?
- 12. Conversione di un byte in una stringa binaria in C#
- 13. Conversione di una stringa in un elenco in Python
- 14. Conversione di un array in una stringa in AS3
- 15. Come convertire una stringa in numero intero in VHDL?
- 16. Conversione di una stringa in una data in una cella
- 17. Conversione di un numero (1, 2, 3) in una stringa (uno, due, tre) in PHP
- 18. Conversione di una stringa in BigInteger
- 19. conversione di byte in una stringa C#
- 20. conversione di una stringa in dizionario Python
- 21. Come analizzare correttamente un intero in PHP?
- 22. convertire un intero in una stringa in Erlang
- 23. Conversione di valori RGBA in un intero in Javascript
- 24. Come convertire un intero in una stringa in modo flessibile?
- 25. Convertire un intero grande in una stringa esadecimale in Javascript
- 26. Conversione di un size_t in un numero intero (C++)
- 27. Converte una stringa in intero con decimale in Python
- 28. Converti un numero intero in una stringa firmata in Ruby
- 29. Conversione di una stringa in un tipo di dati float
- 30. avviso: conversione da stringa a stringa in php
PHP è liberamente digitato. Che cosa era un numero intero una volta, può essere anche una stringa, ad es. quando ti "echo" (usato nel cosiddetto * contesto delle stringhe *). – hakre
@hakre yes php è tipicamente digitato e l'echoing stamperebbe il valore nel contesto di stringa. Ma questo non cambia il tipo di dati di una variabile internamente. Quindi, lo strval ($ variabile) è corretto. –
@Vivek: 'strval()' non cambia la variabile '$' internamente nène. – hakre