1

鉴于此声明:

(string)$my_string = 'Hello world';

**

$my_string = 'Hello world';

或者*

 (int)$my_int = 1;


 $my_int = 1;

与在 PHP 中定义字符串变量的第一种方法相比有优势吗?

4

2 回答 2

3

您的“类型转换”代码实际上并没有完成任何事情。

(type) $var = literal做这个:

  1. 将文字值分配给$var文字值的本机类型。
  2. “返回”(作为表达式)$var转换为所需类型的值。

类型$var保持不变。

例如:

var_dump((string) $s = 1);
var_dump($s);

输出是:

string(1) "1"
int(1)

所以这个语法没有意义。使用文字进行类型转换几乎可以肯定是毫无意义的。

但是,强制变量为某种类型可能很有用,例如:$intvar = (int) $var;

于 2012-05-02T19:47:06.123 回答
1

比第一种方式有优势吗

是的。第二个更简洁。

PHP中类型转换变量的优点是什么

将其转换为预期的类型。
不过,您很少需要使用字符串。
并且使用变量定义,您根本不需要它。

于 2012-05-02T19:37:33.640 回答