1,float数据类型输出格式问题
$float1 = 1.123;$float2 = 2.3e3;$float3 = 8E-5;var_dump($float1, $float2, $float3); //float(1.123) float(2300) float(8.0E-5)var_dump(number_format(8E-5, 5)); //string(7) "0.00008"
登录后复制
会发现8E-5没有输出为 0.00008 , 这是因为PHP会自动将一些位数太多的数字转为科学计数法方式显示
此时如果想输出为0.00008格式,可以使用number_format(),还得注意,该函数返回的是string
2,使用.
拼接符后,自动转为字符串类型
$a = 12;$b = 1.3;$c = true; //转为1var_dump($a . $b . $c); //string(6) "121.31"
登录后复制
3,strlen(),strpos()的中文字符处理
strlen() 返回字符串的长度,按字节,英文占一个,中文一般占3个;
英文的好说,不用特殊处理,中文的可以使用专门的mb_strlen()
echo strlen('string'); //6echo strlen('你好!世界'); //15(5个中文字符*3)echo strlen('你好!PHP'); //12(三个中文字符*3 + 3个英文)echo mb_strlen('你好!世界'); //5echo mb_strlen('你好!PHP'); //6 每个都按字符算
登录后复制
strpos() 用于在指定字符串内查找某段字符是否有出现, 如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。
需要注意的是:字符串的第一个位置是0,而不是1;
同样该函数也有中英文的问题,也需要专门的mb_strpos()函数处理
echo strpos("hello php", "php"); //6echo strpos("hello php","he"); //0echo strpos("你好,php", "p"); //9echo mb_strpos("你好,php", "p"); //3
登录后复制
以上就是记录之PHP日常注意点(1)的详细内容,更多请关注Work网其它相关文章!