>  기사  >  백엔드 개발  >  PHP 일일 주의점 기록 (1)

PHP 일일 주의점 기록 (1)

coldplay.xixi
coldplay.xixi앞으로
2020-09-04 16:21:242387검색

PHP 일일 주의점 기록 (1)

관련 학습 권장 사항: php 프로그래밍(동영상)

PHP 코드를 작성할 때 직면하는 작은 문제 중 일부를 개인적으로 기록하세요. 이 문제는 수시로 업데이트됩니다.
모든 분들의 지적을 환영합니다. 문제가 발생하면 댓글을 작성할 때 특정 질문 번호를 표시할 수 있습니다. 모두 감사합니다.

1, 부동 데이터 유형 출력 형식 문제

$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를 반환합니다.
주의해야 할 점: 문자열의 첫 번째 위치는 1이 아니라 0입니다.
마찬가지로 이 함수는 중국어와 영어에서도 문제가 있으며 이를 처리하려면 특별한 mb_strpos() 함수가 필요합니다

echo strpos("hello php", "php");    //6echo strpos("hello php","he");          //0echo strpos("你好,php", "p");    //9echo mb_strpos("你好,php", "p");    //3

If 프로그래밍에 대해 더 자세히 알고 싶다면 php training 칼럼을 주목해주세요!

위 내용은 PHP 일일 주의점 기록 (1)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 learnku.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제