记录之PHP日常注意点(1)-LMLPHP

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网其它相关文章!

08-20 06:11