>  기사  >  백엔드 개발  >  PHP가 변환하는 숫자 유형은 무엇입니까?

PHP가 변환하는 숫자 유형은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-07-10 10:00:253285검색

PHP는 숫자 유형을 변환합니다. 1. 자동 유형 변환, 문자열은 숫자로 변환, 정수는 부동 소수점 숫자로 변환, 부동 소수점 숫자는 소수점 없는 정수로 변환, null 값은 문자열로 변환됩니다. 강력한 유형 변환, [intval()]은 정수 유형으로 변환되고, [floatval()]은 부동 소수점 숫자로 변환됩니다.

PHP가 변환하는 숫자 유형은 무엇입니까?

PHP에서 변환되는 숫자 유형은 다음과 같습니다.

PHP는 약한 유형의 언어인 Java, C++ 및 기타 언어와 달리 약한 유형의 언어가 자동으로 변환된다는 점입니다. 데이터 유형을 변환하려면 강력한 유형 언어는 유형을 수동으로 선언해야 합니다.

1) 자동 유형 변환, 5가지 데이터 유형, 4가지 유형의 스칼라 및 Null은 연산을 통해 자동으로 변환될 수 있습니다. 부울 값이 연산에 참여합니다

true ---> 1 false ---> 0

  • 문자열과 숫자 연산, 문자열은 연산 전에 먼저 숫자로 변환됩니다.

  • 문자열을 처음부터 시작하여 숫자가 아닌 첫 번째 문자로 끝나는 숫자로 변환합니다(일치하지 않는 내용은 지워집니다).

  • 정수는 부동 소수점 숫자로 변환되며 정밀도는 변경되지 않습니다.

  • 부동 소수점 숫자를 정수로 변환하고 소수점을 버리고 정수 부분을 유지합니다.

  • 부동 소수점 숫자가 정수 범위를 벗어나면 답은 정의되지 않습니다.

  • null 값은 빈 문자열인 문자열로 변환됩니다.

  • //bool to int
    var_dump(true + 1);//2 true->1
    var_dump(false + 1);//1 false->0
    var_dump(null + 1);// 1 null-> 0
    echo &#39;<hr/>&#39;;
    // bool to float
    var_dump(true + 1.0);// float 2
    var_dump(false + 1.0);// float 1 var_dump(null + 1.0);// float 1
    echo &#39;<hr/>&#39;;
    //string to int
    var_dump(&#39;123&#39; + 1);//124 &#39;123&#39;->123
    var_dump(&#39;abc123&#39; + 1);//1 &#39;abc123&#39;->0
    var_dump(&#39;123abcdefggggggggggg;8000&#39; + 1);//124
    var_dump(&#39;a123&#39; + 1);//1
    var_dump(&#39;1a123&#39; + 1);//2
    //php7.0版本所有进制都不转
    var_dump(&#39;077abc&#39;+1);// 78 077->77 八进制不转换
    var_dump(&#39;0b11abc&#39;+1);//1 //0b 不转换
    var_dump(&#39;0xffhsahahhahah&#39;+1);//1 0x不转换
    //php 5.6以下都会转换为 0xff->255
    echo &#39;<hr/>&#39;;
    //string to float
    var_dump(&#39;1.234abcdef&#39;+ 1.0);//2.234
    var_dump(&#39;1.234E3&#39;+1.0);//1235
    var_dump(&#39;1e5&#39;+1.0);//2 100001
    var_dump(&#39;1E-5&#39;+1.0);//1.00001

2) 강력한 유형 변환

괄호와 대상 유형을 사용하여 변환

(int)(integer)
 (bool)(boolean)
 (float)(real)
  (string)
  (array)
  (object)

유형 변환 기능 사용

settype() 영구적으로 유형을 변환하는 기능(강조)

settype() 永久转换类型的函数(重点)

第一个参数 你要改变类型的变量
第二个参数 你要改变的类型名
intval() 转换为整型
floatval() 转换为浮点数
strval() 첫 번째 매개변수는 변경하려는 변수 유형

두 번째 매개변수는 변경하려는 유형 이름
intval() 정수형으로 변환

floatval() code>부동 소수점으로 변환 <a href="https://www.php.cn/course/list/29.html" target="_blank"><code>strval() 문자열로 변환

<?php
  $a = 1;
  var_dump($a);
  var_dump((int)$a);
  var_dump((integer)$a);
  var_dump((bool)$a);
  var_dump((float)$a);
  var_dump((real)$a);
  var_dump((string)$a);
 var_dump((array)$a);
 var_dump((object)$a);
 var_dump($a);
 var_dump($a);
 var_dump($a);
 var_dump($a);
 var_dump($a);
 echo &#39;<hr/>&#39;;
 $b = 100;
 var_dump($b);
 //下面函数是永久有效的类型转换
 settype($b,&#39;string&#39;);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 var_dump($b);
 echo &#39;<hr/>&#39;;
//下⾯的函数也是当次有效 和最开始的强制类型转换一样 只不过语法不同而已
 $m = 200;
 var_dump(intval($m));
 var_dump(floatval($m));
var_dump(strval($m));
 var_dump($m);
 var_dump($m);
 var_dump($m);

관련 학습 권장 사항: 🎜초보부터 마스터까지 PHP 프로그래밍🎜🎜🎜

위 내용은 PHP가 변환하는 숫자 유형은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.