Heim >Backend-Entwicklung >PHP-Problem >So erzwingen Sie die Konvertierung in einen String in PHP

So erzwingen Sie die Konvertierung in einen String in PHP

藏色散人
藏色散人Original
2021-03-15 09:13:413927Durchsuche

So erzwingen Sie die Konvertierung in einen String in PHP: Erstellen Sie zunächst eine PHP-Beispieldatei. Definieren Sie dann eine Variable und erzwingen Sie schließlich die Konvertierung in einen String mit der String-Methode in PHP.

So erzwingen Sie die Konvertierung in einen String in PHP

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

PHP-erzwungener Konvertierungstyp

Datentyp abrufen:

1 Um den Wert eines Ausdrucks und eines Typs zu ermitteln, verwenden Sie var_dump().
2. Wenn Sie nur einen leicht lesbaren Typausdruck zum Debuggen erhalten möchten, verwenden Sie gettype().
3. Um einen bestimmten Typ zu überprüfen, verwenden Sie nicht gettype(), sondern die Funktion is_type().

■Zeichenfolge in numerischen Wert umwandeln

  1. Wenn eine Zeichenfolge als Zahl ausgewertet wird, werden Typ und Wert des Ergebnisses gemäß den folgenden Regeln bestimmt.
  2. Wenn es eines der Zeichen „.“, „e“ oder „E“ enthält, wird die Zeichenfolge als Gleitkommazahl ausgewertet. Andernfalls wird es als Ganzzahl behandelt.
  3. Der Wert wird durch den ersten Teil der Zeichenfolge bestimmt. Wenn die Zeichenfolge mit zulässigen numerischen Daten beginnt, wird diese Zahl als Wert verwendet, andernfalls ist ihr Wert 0 (Null). Zulässige numerische Daten beginnen mit einem optionalen Vorzeichen, gefolgt von einer oder mehreren Ziffern (optional einschließlich eines Dezimalbruchs) und einem optionalen Exponenten. Der Exponent ist ein „e“ oder „E“, gefolgt von einer oder mehreren Ziffern.

Hinweis: Erwarten Sie nicht, die Kodierung eines Zeichens zu erhalten, wenn Sie es in eine Ganzzahl konvertieren (wahrscheinlich tun Sie dies auch in C). Wenn Sie zwischen Zeichenkodierungen und Zeichen konvertieren möchten, verwenden Sie die Funktionen ord() und chr().

■Typumwandlung

Die Typumwandlung in PHP ist der in C sehr ähnlich: Stellen Sie der zu konvertierenden Variablen den in Klammern eingeschlossenen Zieltyp voran.

Die zulässigen Umwandlungen sind:

  • (int), (integer) – Konvertieren in einen Ganzzahltyp
  • (bool), (boolean) – Konvertieren in einen booleschen Typ
  • (float), (double), (real) ) – In Gleitkommatyp konvertieren
  • (String) – In String konvertieren
  • (Array) – In Array konvertieren
  • (Objekt) – In Objekt konvertieren

Beachten Sie, dass Leerzeichen und Tabulatoren in Klammern zulässig sind

Sie kann auch settype (gemischte Variable, Zeichenfolgentyp) für die erzwungene Konvertierung verwenden (bool) | (boolean)

Um einen Wert explizit in einen booleschen Wert umzuwandeln, verwenden Sie (bool) oder (boolean) to gießen. In vielen Fällen ist eine Umwandlung jedoch nicht erforderlich, da der Wert automatisch konvertiert wird, wenn ein Operator, eine Funktion oder eine Flusssteuerung einen booleschen Parameter erfordert.

Bei der Konvertierung in einen Booleschen Wert gelten die folgenden Werte als FALSCH:

Boolescher Wert FALSCH
Integer-Wert 0 (Null)
Gleitkommawert 0,0 (Null)
Leere Zeichenfolge und Zeichenfolge „0“
Kein Mitgliedsvariablen-Array
Objekt ohne Zellen (nur für PHP 4)
Spezialtyp NULL (einschließlich noch nicht gesetzter Variablen)
Alle anderen Werte gelten als TRUE (einschließlich etwaiger Ressourcen).

<?php
var_dump((bool) ""); // bool(false)
var_dump((bool) 1); // bool(true)
var_dump((bool) -2); // bool(true)
var_dump((bool) "foo"); // bool(true)
var_dump((bool) 2.3e5); // bool(true)
var_dump((bool) array(12)); // bool(true)
var_dump((bool) array()); // bool(false)
var_dump((bool) "false"); // bool(true)
?>

2. Umwandlung in Ganzzahl (int)|(integer)

Um einen Wert explizit in eine Ganzzahl umzuwandeln, verwenden Sie die Umwandlung (int) oder (integer). In den meisten Fällen ist eine Umwandlung jedoch nicht erforderlich, da der Wert automatisch konvertiert wird, wenn ein Operator, eine Funktion oder eine Flusssteuerung einen ganzzahligen Parameter erfordert. Sie können auch die Funktion intval() verwenden, um einen Wert in einen Ganzzahltyp umzuwandeln. LA. Konvertieren Sie von der Gleitkommazahl nach oben, um den Bereich zu überschreiten.

Wandeln Sie niemals einen unbekannten Bruch in eine ganze Zahl um, da dies manchmal zu unerwarteten Ergebnissen führen kann.


<?php
echo (int) ( (0.1+0.7) * 10 ); // 显示 7
?>
$str = "123.456abc7"; // (int)123
echo (int)$str;
$str = "abc123.456";   // (int)0
$str = true;           // (int)1
$str = false;          // (int)0

    3.强制转换为浮点型 (int)|(double)|(real)|doubleval()|floatval()|intval() 
精度: 0.12345678901234 // double,real都一样
数据的丢失参 字符串转换为数值
【推荐学习:《PHP视频教程》】    
    4.强制换为字符串 (string) |strval()
可以用 (string) 标记或者 strval() 函数将一个值转换为字符串。当某表达式需要字符串时,字符串的转换会在表达式范围内自动完成。例如当使用 echo() 或者 print() 函数时,或者将一个变量值与一个字符串进行比较的时候。

  • 布尔值 TRUE 将被转换为字符串 "1",而值 FALSE 将被表示为 ""(即空字符串)。这样就可以随意地在布尔值和字符串之间进行比较。
  • 整数或浮点数数值在转换成字符串时,字符串由表示这些数值的数字字符组成(浮点数还包含有指数部分)。
  • 数组将被转换成字符串 "Array",因此无法通过 echo() 或者 print() 函数来输出数组的内容。请参考下文以获取更多提示。
  • 对象将被转换成字符串 "Object"。如果因为调试需要,需要将对象的成员变量打印出来,请阅读下文。如果希望得到该对象所依附的类的名称,请使用函数 get_class()。自 PHP 5 起,如果合适可以用 __toString() 方法。
  • 资源类型总是以 "Resource id #1" 的格式被转换成字符串,其中 1 是 PHP 在运行时给资源指定的唯一标识。如果希望获取资源的类型,请使用函数 get_resource_type()。
  • NULL 将被转换成空字符串。

正如以上所示,将数组、对象或者资源打印出来,并不能提供任何关于这些值本身的有用的信息。请参阅函数 print_r() 和 var_dump(),对于调试来说,这些是更好的打印值的方法。 
可以将 PHP 的值转换为字符串以永久地储存它们。这种方法被称为序列化,可以用函数 serialize() 来完成该操作。如果在安装 PHP 时建立了 WDDX 支持,还可以将 PHP 的值序列化为 XML 结构。 
    4. 强制转换为数组 (array)

  • 对于任何的类型:整型、浮点、字符串、布尔和资源,如果将一个值转换为数组,将得到一个仅有一个元素的数组(其下标为 0),该元素即为此标量的值。
  • 如果将一个对象转换成一个数组,所得到的数组的元素为该对象的属性(成员变量),其键名为成员变量名。
  • 如果将一个 <span style="font-family: NSimsun">NULL</span> 值转换成数组,将得到一个空数组。

         5. 转换为对象 (object)
如果将一个对象转换成对象,它将不会有任何变化。如果其它任何类型的值被转换成对象,内置类 stdClass 的一个实例将被建立。如果该值为 NULL,则新的实例为空。数组转换成对象将使键名成为属性名并具有相对应的值。对于任何其它的值,名为 scalar 的成员变量将包含该值
    6. 转换为资源 (无法转换)
由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此无法将其它类型的值转换为资源。
■PHP 类型比较表
以下的表格显示了 PHP 类型和比较运算符在松散和严格比较时的作用。该补充材料还和类型戏法的相关章节内容有关。

  • 注意
  • HTML 表单并不传递整数、浮点数或者布尔值,它们只传递字符串。要想检测一个字符串是不是数字,可以使用 is_numeric() 函数。
  • 在没有定义变量 $x 的时候,诸如 if ($x) 的用法会导致一个 E_NOTICE 级别的错误。所以,可以考虑用 empty 

 

Das obige ist der detaillierte Inhalt vonSo erzwingen Sie die Konvertierung in einen String 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