Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:
php
<?php
$id = '12';
$id = (int)$id; // string转int
$num = '123' * 456;
echo $num; // 输出结果:579
$num = 'asd123' + 456;
echo $num; // 输出结果:456。
$num = '123' + '45a6';
echo $num; // 输出结果:168
$num = '123' . 'a456';
echo $num; // 输出结果:'123a456'
$num = 123 . 'a456';
echo $num; // 输出结果:'123a456'
自动转换的前提必须是算数运算符或者字符串连接,并且连接前后必须是标量。
算数运算时,bool true 转化为1,false转换为0;字符串如果是纯数字时,转换成对应的数值,如果不是纯数字的话,看非数字的字符在什么位置:在开头的话转换成0,在其他位置的话,只转换这个字符前面的字符为对应的数字。
建议不要让系统做自动转换,最好手动干预。
使用函数:settype(变量, 要转换的数据类型) 进行转换。
不常用。
<?php
function typeDetection(float $a, float $b): string {
return $a . '+' . $b . '=' . ($a + $b);
}
echo typeDetection(1, 2); // 3
echo typeDetection(1.2, 2.3); // 3.5
// echo typeDetection('a', 12); // Fatal error: Uncaught TypeError: Argument 1 passed to typeDetection() must be of the type float, string given
驼峰命名法:多英文单词时,首字母小写,其他首字母大写,如:typeDetection,多用变量,属性和方法。
蛇形命名:type_detection(), 多用于函数。
帕斯卡命名:全字母大写,如:TypeDetection, 多用于类,也叫大驼峰。
全大写,多用于常量。
直接赋值: $a = 1;