我正在进行PHP的第一步。问题是我定义了不同类型的变量,但输出显示它们的类型为字符串。
代码
$firstname = 'Hosam';
$age = '22';
$height = '1.84';
$mobile = 'true';
echo $firstname . '<br/>';
echo gettype($firstname).'<br/>';
echo $age . '<br/>';
echo gettype($age).'<br/>';
echo $height . '<br/>';
echo gettype($height).'<br/>';
if ($mobile) {echo 'i9300'.'<br/>';}
else {echo 'Does not have smartphone'.'<br/>';}
echo gettype($mobile);
输出
Hosam
string
22
string
1.84
string
i9300
string
在PHP中,如果你这样定义它,它就是一个字符串,直到你做了一些类型处理它的事情,比如添加到它中,或者检查它的真实性。
您将希望在不带引号的情况下定义它们,或者强制转换它们以显式更改它们的类型。
阅读此以了解更多信息:http://php.net/manual/en/language.types.type-juggling.php
您必须删除数字中的引号。
$firstname = 'Hosam';
$age = 22;
$height = 1.84;
$mobile = 'true';
引号中的任何值都是字符串,即使它是数字
所以"22"是一个字符串。
但是22是一个数字。
正如丹所指出的。你会想去掉true周围的引号,因为true不被认为是一个字符串,除非你真的想打印单词true。