Heim > Artikel > Backend-Entwicklung > Die Verwendung und der Unterschied zwischen der Konvertierung intval() und (int) unter PHP
Dieser Artikel stellt hauptsächlich die Verwendung und den Unterschied zwischen intval() und (int)-Konvertierung unter PHP vor. Jetzt kann ich ihn mit Ihnen teilen.
Will wissen: Was ist der Unterschied zwischen der Verwendung der intval()- und (int)-Konvertierung? Oder was sind die Unterschiede zwischen den beiden, einschließlich Funktionen und Definitionen? Oder bezogen auf Nutzungshäufigkeit, Effizienz usw.
Code kopieren Der Code lautet wie folgt:
<?php echo "<br/>数值强制转换:"; $string="2a"; $string1=intval($string); echo '$string1的值:'.$string1.'$string2的值:';//单引号不会输出变量,将原样输出 $string2=(int)($string); echo $string2 ?>
Kann nicht im Handbuch gefunden werden.
Das steht auch im Handbuch: Zitat:
int intval (mixed $var [, int $base ])
Gibt den ganzzahligen Wert der Variablen var unter Verwendung einer bestimmten Basiskonvertierung zurück (Standard ist Dezimalzahl). . Wenn es nur diesen Unterschied gibt, verwende ich gerne (int), um mit Dezimalsituationen umzugehen. Ist das eine gute Wahl?
Es gibt keinen Unterschied, normalerweise wird (int) verwendet, und es gibt auch Float, String, Array usw.
intval(), wenn der Parameter ein String ist, der erste in der Zeichenfolge wird zurückgegeben. Der ganzzahlige Wert wird durch die Ziffernfolge dargestellt, die einem Zeichen vorausgeht, das keine Ziffer ist. Wenn das erste Zeichen in der Zeichenfolge „-“ ist, beginnt die Zählung ab dem zweiten Zeichen.
Wenn der Parameter eine gepunktete Zahl ist, wird sein gerundeter Wert zurückgegeben.
Natürlich liegt der von intval() zurückgegebene Wert innerhalb des Bereichs, der durch einen 4-Byte-Wert dargestellt werden kann (-2147483648~2147483647). Werte, die diesen Bereich überschreiten, werden durch Grenzwerte ersetzt.
Beispiel:
intval("A")=0; intval(12.3223)=12; intval("1123Asdfka3243")=1123; int();
Beispiel:
$a=0.13; $b=(int)$a; //$b=0; $a=0.99; $b=(int)$a; //$b=0; $a=1.01; $b=(int)$a; //$b=1; $a=1.99; $b=(int)$a; //$b=1;
PHP-String zu int
Manchmal ist es wichtig, eine Variable im int-Format zu haben . Wenn Ihr Besucher beispielsweise das Formular mit dem Altersfeld ausfüllt, sollte dies ein int sein. Im Array $_POST erhalten Sie es jedoch als Zeichenfolge.
Das Konvertieren von PHP-Strings in Int ist einfach. Wir müssen Ihren Variablentyp vor dem Casting verwenden. Sie müssen also (INT) verwenden. Hier ist ein Beispiel dafür:
Kopieren Sie den Code Der Code lautet wie folgt:
<?php $str = "10"; $num = (int)$str;?>
Wenn Sie überprüfen möchten, ob der Code WIRKLICH funktioniert , können wir den Operator = == verwenden. Dieser Operator prüft nicht nur den Wert, sondern auch den Typ. Ein solcher Code sollte wie folgt aussehen:
Code kopieren Der Code lautet wie folgt:
<?php $str = "10"; $num = (int)$str; if ($str === 10) echo "String"; if ($num === 10) echo "Integer"; ?>
Es ist auch ein Problem offen. Was passiert, wenn unsere Zeichenfolge nicht nur eine Folge von Zahlen ist? Ich meine, es gibt noch andere Zeichen in der Zeichenfolge. In diesem Fall versucht der Konvertierungsvorgang das Beste und kann die Zeichenfolge konvertieren, wenn nur Leerzeichen vorhanden sind und nach dem numerischen Wert keine gültigen Zeichen vorhanden sind. Es funktioniert wie folgt:
“10” - > 10 “10.5” - > 10 “10,5” - > 10 “10” - > 10 “10” - > 10 “10test” - > 10 “test10” - > 0
Verwandte Empfehlungen:
Vergleichende Analyse von file_get_contents und Curl-Leistung in PHP
Das obige ist der detaillierte Inhalt vonDie Verwendung und der Unterschied zwischen der Konvertierung intval() und (int) unter PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!