鉴于此声明:
(string)$my_string = 'Hello world';
*对*
$my_string = 'Hello world';
或者*
(int)$my_int = 1;
$my_int = 1;
与在 PHP 中定义字符串变量的第一种方法相比有优势吗?
您的“类型转换”代码实际上并没有完成任何事情。
(type) $var = literal
做这个:
$var
文字值的本机类型。$var
转换为所需类型的值。类型$var
保持不变。
例如:
var_dump((string) $s = 1);
var_dump($s);
输出是:
string(1) "1"
int(1)
所以这个语法没有意义。使用文字进行类型转换几乎可以肯定是毫无意义的。
但是,强制变量为某种类型可能很有用,例如:$intvar = (int) $var;
比第一种方式有优势吗
是的。第二个更简洁。
PHP中类型转换变量的优点是什么
将其转换为预期的类型。
不过,您很少需要使用字符串。
并且使用变量定义,您根本不需要它。