Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen int und intval in PHP?
Der Unterschied zwischen int und intval in PHP: 1. int bezieht sich auf den Integer-Ganzzahltyp und intval bezieht sich auf die Funktion, die zum Erhalten des ganzzahligen Werts einer Variablen verwendet wird. 2. Die erzwungene Konvertierung von int und die intval-Funktion überschreiten Maximaler Wert, der von verschiedenen Typen angezeigt wird. , intval Wenn der Parameter eine Zeichenfolge ist, wird der ganzzahlige Wert zurückgegeben, der durch die Zahlenzeichenfolge vor dem ersten Zeichen in der Zeichenfolge dargestellt wird, das keine Zahl ist. Der int-Typ hat einen angegebenen Maximalwert.
Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 8.1, Dell G3-Computer
intval()-Funktion wird verwendet, um die Ganzzahl zu erhalten Wert einer Variablen. Die Funktion
intval() gibt den ganzzahligen Wert der Variablen var unter Verwendung der angegebenen Basiskonvertierung zurück (Standard ist Dezimalzahl). intval() kann nicht mit Objekt verwendet werden, andernfalls wird ein E_NOTICE-Fehler generiert und 1 zurückgegeben.
int in PHP bezieht sich auf den Integer-Integer-Typ
intval()-Funktion
Syntax:
intval ( mixed $value , int $base = 10 ) : int
value ist der Mengenwert, der in eine ganze Zahl konvertiert werden soll
base ist die für die Konvertierung verwendete Basis (Standard, wenn nicht ausgefüllt) ist dezimal)
Rückgabewert: Variable vom Typ int
PS: Sofern der Wert keine Zeichenfolge ist, funktioniert die Basis nicht.
Beispiel:
<?php echo intval(42)."<br>"; // 42 echo intval(4.2)."<br>"; // 4 echo intval('42')."<br>"; // 42 echo intval('+42')."<br>"; // 42 echo intval('-42')."<br>"; // -42 echo intval(042)."<br>"; // 34 echo intval('042')."<br>"; // 42 echo intval(1e10)."<br>"; // 1410065408 echo intval('1e10')."<br>"; // 1 echo intval(0x1A)."<br>"; // 26 echo intval(42000000)."<br>"; // 42000000 echo intval(420000000000000000000)."<br>"; // 0 echo intval('420000000000000000000')."<br>"; // 2147483647 echo intval(42, 8)."<br>"; // 42 echo intval('42', 8)."<br>"; // 34 echo intval(array())."<br>"; // 0 echo intval(array('foo', 'bar'))."<br>"; // 1 echo intval(false)."<br>"; // 0 echo intval(true)."<br>"; // 1 ?>
(int) erzwungene Konvertierung
Demonstration:
<?php echo (int)42; // 42 echo "<br>"; echo (int)4.2; // 4 echo "<br>"; echo (int)'42'; // 42 echo "<br>"; echo (int)'+42'; // 42 echo "<br>"; echo (int)'-42'; // -42 echo "<br>"; echo (int)042; // 34 echo "<br>"; echo (int)'042'; // 42 echo "<br>"; echo (int)1e10; // 1410065408 echo "<br>"; echo (int)'1e10'; //2147483647 echo "<br>"; echo (int)0x1A; // 26 echo "<br>"; echo (int)42000000;// 42000000 echo "<br>"; echo (int)420000000000000000000; //-1609564160 echo "<br>"; echo (int)'420000000000000000000'; //2147483647 echo "<br>"; /*echo intval(42, 8)."<br>"; echo intval('42', 8)."<br>"; */ /*int的强制转换不是函数,所以无法实现*/ echo (int)array();// 0 echo "<br>"; echo (int)array('foo', 'bar');//1 echo "<br>"; echo (int)false; //0 echo "<br>"; echo (int)true; //1 echo "<br>"; ?>
Zusammenfassung:
int erzwungene Konvertierung und intval()-Funktion, wenn boolean, int, float, array konsistent sind (do den für jeden Typ angezeigten Höchstwert nicht überschreiten).
intval() Wenn der Parameter eine Zeichenfolge ist, wird der ganzzahlige Wert zurückgegeben, der durch die Zahlenzeichenfolge vor dem ersten Zeichen in der Zeichenfolge dargestellt wird, das keine Zahl 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 der gerundete Wert zurückgegeben.
Der Maximalwert des Typs int ist 2147483647. Wenn er während der Typkonvertierung diesen Maximalwert überschreitet, wird er im Allgemeinen als Maximalwert angezeigt. (int) zeigt -1609564160 an.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen int und intval in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!