我正在迈出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
答案 0 :(得分:1)
您必须从数字中删除引号。
$firstname = 'Hosam';
$age = 22;
$height = 1.84;
$mobile = 'true';
引号中的任何值都是一个字符串,即使它是一个数字
所以'22'是一个字符串。
但22是一个数字。
丹也指出。你会想要删除true附近的引号,因为true不被认为是字符串,除非你真的想要打印单词true。
答案 1 :(得分:1)
在PHP中,如果你这样定义它就是一个字符串,直到你做了一些类型的东西,比如添加它,或者检查它的真实性。
您需要在没有引号的情况下定义它们,或者将它们转换为显式更改其类型。
阅读本文以获取更多信息:http://php.net/manual/en/language.types.type-juggling.php