Heim  >  Artikel  >  Backend-Entwicklung  >  Wie man in PHP zwischen intval() und (int) unterscheidet

Wie man in PHP zwischen intval() und (int) unterscheidet

autoload
autoloadOriginal
2021-04-02 12:27:462865Durchsuche

Dieser Artikel vergleicht hauptsächlich die Funktionen und Definitionen der Typkonvertierung von intval() und der erzwungenen Typkonvertierung von (int) mit einigen Beispielen, um zwischen den beiden zu unterscheiden. intval()类型转换、(int)的强制类型转换在功能、定义方面的区别做了一些示例比较,对两者进行区分。

1.intval()函数

 语法:

intval ( mixed $value , int $base = 10 ) : int
  •    value为要转换成 integer 的数量值

  •     base为转化所使用的进制(不填默认为10进制)

  •     返回值:int型变量

 PS:除非 value 是一个字符串,否则 base 不会起作用。

 示例:

<?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
?>

2.(int)强制转换

示范:

<?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>";                   
?>

3.小结:

  1.  int的强制转换与intval()函数在面对booleanintfloatarray时两者保持一致(不超出各种类型显示的最大值)。

  2.  intval()如果参数是字符串,则返回字符串中第一个不是数字的字符之前的数字串所代表的整数值。如果字符串第一个是‘-',则从第二个开始算起。如果参数是符点数,则返回他取整之后的值。

  3.  int 类型最大值为 2147483647一般在类型转换时  如果超过这个最大值 就按最大值显示,(int)则显示-1609564160

    1.intval() Funktion
Syntax:🎜rrreee
  • 🎜 value ist der Mengenwert, der in integer🎜🎜 konvertiert werden soll 🎜 base ist die für die Konvertierung verwendete Basis (Standard ist Dezimalzahl, wenn nicht ausgefüllt)🎜🎜
  • 🎜 Rückgabewert: Variable vom Typ int🎜🎜 ul>🎜 PS: Sofern value kein String ist, funktioniert base nicht. 🎜🎜 Beispiel:🎜rrreee🎜2. (int) cast
    🎜🎜Demonstration: 🎜rrreee🎜3. Zusammenfassung:🎜
    1. 🎜 Der Zwang von int und der Funktion intval() ist unterschiedlich, wenn er mit boolean konfrontiert wird. int, float und array sind konsistent (überschreiten Sie nicht den von jedem Typ angezeigten Maximalwert). 🎜🎜
    2. 🎜 intval()Wenn der Parameter eine Zeichenfolge ist, wird der ganzzahlige Wert zurückgegeben, der durch die Ziffernfolge vor dem ersten Zeichen in der Zeichenfolge dargestellt wird, 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 der gerundete Wert zurückgegeben. 🎜🎜
    3. 🎜 Der Maximalwert des Typs int ist 2147483647 Wenn dieser Maximalwert während der Typkonvertierung überschritten wird, wird im Allgemeinen der Maximalwert angezeigt, (int)code> zeigt -1609564160 an. 🎜🎜🎜

Das obige ist der detaillierte Inhalt vonWie man in PHP zwischen intval() und (int) unterscheidet. 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