Heim >Backend-Entwicklung >PHP-Problem >So erzwingen Sie die Datentypkonvertierung in PHP

So erzwingen Sie die Datentypkonvertierung in PHP

青灯夜游
青灯夜游Original
2021-11-18 18:03:172907Durchsuche

Erzwungene Konvertierungsmethode: 1. Fügen Sie den in Klammern eingeschlossenen Zieltyp („(int)“, „(bool)“, „(float)“ usw.) vor der zu konvertierenden Variablen hinzu Funktion intval(), floatval(), boolval(), strval(), settype().

So erzwingen Sie die Datentypkonvertierung in PHP

Die Betriebsumgebung dieses Tutorials: Windows 7-System, PHP-Version 7.1, DELL G3-Computer

PHP erzwungene Typkonvertierung

Die erzwungene Typkonvertierung in PHP ist anderen Sprachen sehr ähnlich, das können Sie Konvertieren Sie es, wenn Sie möchten. Der Variablen geht der in Klammern eingeschlossene Zieltyp voran (z. B. $var = (int)3.1415;), oder es kann eine bestimmte Typkonvertierungsfunktion verwendet werden (z. B. intval(), floatval(), strval() usw.) oder settype(), um den Typ zu konvertieren. $var = (int)3.1415;),也可以使用具体的类型转换函数(例如 intval()floatval()strval() 等)或者 settype() 来转换类型。

使用在变量之前加上用括号括起来的目标类型的方式强制转换变量类型时,括号中允许使用的变量类型如下所示:

  • (int)(integer):转换成整型;

  • (bool)(boolean):转换成布尔类型;

  • (float)(double)(real):转换成浮点类型;

  • (string):转换成字符串类型;

  • (array):转换成数组类型;

  • (object):转换成对象类型。

使用具体的转换函数 intval()floatval()boolval()strval() 等来转换变量的类型时,这些函数的作用如下所示:

  • intval():用于获取变量的整数值;

  • floatval():用于获取变量的浮点值;

  • boolval():用于获取变量的布尔值;

  • strval():用于获取变量的字符串值。

【示例】使用以上几个函数强制转换变量的类型。

<?php
    $str = &#39;123.456abc&#39;;
    $int = intval($str);
    echo &#39;变量 $int 的类型为:&#39;.gettype($int).&#39;<br>&#39;;
    $float = floatval($str);
    echo &#39;变量 $float 的类型为:&#39;.gettype($float).&#39;<br>&#39;;
    $string = strval($str);
    echo &#39;变量 $string 的类型为:&#39;.gettype($string);
?>

运行结果如下:

变量 $int 的类型为:integer
变量 $float 的类型为:double
变量 $string 的类型为:string

上面介绍的两种强制类型转换的方式都不会改变被转换变量本身的类型,而是通过将转换得到的新类型的数据赋值给新的变量,原变量的类型和值不变。

如果需要改变变量本身的类型可以使用 settype() 函数来完成,函数的语法格式如下:

settype(mixed &$var, string $type)

其中,$var 为要转换的变量;$type 为要转换的类型,可以是 boolean(bool)integer(int)float(double)stringarrayobjectnull

Beim Erzwingen des Variablentyps durch Hinzufügen des in Klammern eingeschlossenen Zieltyps vor der Variablen sind die in den Klammern zulässigen Variablentypen wie folgt:

(int), (integer ): In Ganzzahltyp konvertieren;

  • (bool), (boolean): In Booleschen Typ konvertieren;

  • ( float), (double), (real): In Gleitkommatyp konvertieren

  • (string): In String-Typ konvertieren; <p></p>
  • (array): In Array-Typ konvertieren;

(object): In Objekttyp konvertieren.

Verwenden Sie bestimmte Konvertierungsfunktionen intval(), floatval(), boolval(), strval() Code> Beim Konvertieren des Typs einer Variablen lauten die Funktionen dieser Funktionen wie folgt: 🎜🎜🎜🎜intval(): wird verwendet, um den ganzzahligen Wert der Variablen abzurufen; 🎜🎜🎜🎜floatval(): wird verwendet, um den zu erhalten Gleitkommawert der Variablen ;🎜🎜🎜🎜boolval(): wird verwendet, um den booleschen Wert der Variablen abzurufen; 🎜🎜🎜🎜strval(): wird verwendet, um den Zeichenfolgenwert der Variablen abzurufen. 🎜🎜🎜🎜【Beispiel】Verwenden Sie die oben genannten Funktionen, um den Typ von Variablen zu erzwingen. 🎜
<?php
    $str = (string)&#39;123abc&#39;;
    $bool = (bool)true;
    settype($str, &#39;integer&#39;);
    settype($bool, &#39;string&#39;);
    echo &#39;$str 的类型为:&#39;.gettype($str).&#39;<br> $bool 的类型为:&#39;.gettype($bool);
?>
🎜Die laufenden Ergebnisse lauten wie folgt: 🎜
$str 的类型为:integer
$bool 的类型为:string
🎜Die beiden oben beschriebenen Methoden zur erzwungenen Typkonvertierung ändern nicht den Typ der konvertierten Variablen selbst, sondern weisen den konvertierten neuen Datentyp der neuen Variablen, der ursprünglichen Variablen, zu Typ und Wert bleiben unverändert. 🎜🎜Wenn Sie den Typ der Variablen selbst ändern müssen, können Sie die Funktion settype() verwenden. Das Syntaxformat der Funktion ist wie folgt: 🎜rrreee🎜Unter diesen ist $var Zu konvertierende Variable; $type ist der zu konvertierende Variablentyp, der boolean (bool), integer (int), float (double) sein kann. , string, array, object, null. 🎜🎜【Beispiel】Verwenden Sie die Funktion settype(), um den Typ einer Variablen zu erzwingen. 🎜rrreee🎜Die laufenden Ergebnisse sind wie folgt: 🎜rrreee🎜Bei der Verwendung der erzwungenen Typkonvertierung sind folgende Punkte zu beachten: 🎜🎜🎜🎜Der Ganzzahltyp wird in einen Gleitkommatyp konvertiert, da der Genauigkeitsbereich des Gleitkommatyps viel größer ist Als die des Ganzzahltyps ändert sich die Genauigkeit nach der Konvertierung nicht. 🎜🎜🎜🎜Wenn der Gleitkommatyp in einen Ganzzahltyp konvertiert wird, wird der Dezimalteil automatisch verworfen und nur der Ganzzahlteil bleibt erhalten. Wenn eine Gleitkommazahl den gültigen Bereich ganzer Zahlen überschreitet, ist das Ergebnis undefiniert. 🎜🎜🎜🎜Wenn eine Zeichenfolge in eine Zahl umgewandelt wird, beginnt sie am Anfang der Zeichenfolge und endet mit dem ersten Zeichen, das kein a ist Zahl (inkompatibler Inhalt klar), das heißt, wenn das erste Zeichen der Zeichenfolge keine Zahl ist, ist das konvertierte Ergebnis 0; 🎜🎜🎜🎜Der NULL-Wert wird in eine Zeichenfolge konvertiert und das Ergebnis ist ein Nullzeichen. 🎜🎜🎜🎜Empfohlenes Lernen: „🎜PHP-Video-Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonSo erzwingen Sie die Datentypkonvertierung 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