Heim >Backend-Entwicklung >PHP-Problem >Was ist der Unterschied zwischen int und intval in PHP?

Was ist der Unterschied zwischen int und intval in PHP?

WBOY
WBOYOriginal
2022-07-27 16:30:573176Durchsuche

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.

Was ist der Unterschied zwischen int und intval in PHP?

Die Betriebsumgebung dieses Artikels: Windows 10-System, PHP-Version 8.1, Dell G3-Computer

Was ist der Unterschied zwischen int und intval in PHP?

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(&#39;42&#39;)."<br>";                    // 42
echo intval(&#39;+42&#39;)."<br>";                   // 42
echo intval(&#39;-42&#39;)."<br>";                   // -42
echo intval(042)."<br>";                     // 34
echo intval(&#39;042&#39;)."<br>";                   // 42
echo intval(1e10)."<br>";                    // 1410065408
echo intval(&#39;1e10&#39;)."<br>";                  // 1
echo intval(0x1A)."<br>";                    // 26
echo intval(42000000)."<br>";                // 42000000
echo intval(420000000000000000000)."<br>";   // 0
echo intval(&#39;420000000000000000000&#39;)."<br>"; // 2147483647
echo intval(42, 8)."<br>";                   // 42
echo intval(&#39;42&#39;, 8)."<br>";                 // 34
echo intval(array())."<br>";                 // 0
echo intval(array(&#39;foo&#39;, &#39;bar&#39;))."<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)&#39;42&#39;;   // 42
echo "<br>";                    
echo (int)&#39;+42&#39;;  // 42
echo "<br>";                  
echo (int)&#39;-42&#39;;  // -42
echo "<br>";                 
echo (int)042;    //  34
echo "<br>";                    
echo (int)&#39;042&#39;;  // 42
echo "<br>";                  
echo (int)1e10;   // 1410065408
echo "<br>";                    
echo (int)&#39;1e10&#39;; //2147483647
echo "<br>";                
echo (int)0x1A;   // 26
echo "<br>";                    
echo (int)42000000;// 42000000
echo "<br>";                
echo (int)420000000000000000000;  //-1609564160
echo "<br>"; 
echo (int)&#39;420000000000000000000&#39;; //2147483647
echo "<br>";
/*echo intval(42, 8)."<br>";                   
echo intval(&#39;42&#39;, 8)."<br>";              */
/*int的强制转换不是函数,所以无法实现*/  
                
echo (int)array();// 0
echo "<br>";                 
echo (int)array(&#39;foo&#39;, &#39;bar&#39;);//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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn