>  기사  >  백엔드 개발  >  PHP 변수 소개

PHP 변수 소개

炎欲天舞
炎欲天舞원래의
2017-08-04 17:08:421529검색

1.1: 유형

8가지 유형의 변수가 있습니다. 암기할 필요가 없습니다. 실제 응용에서 이해를 심화시키세요.

1) 整型 [integer] 数学中的整数
2) 浮点型 [float,double] 数学中的小数
3) 字符串 [string] 一串字符
4) 布尔 [boolean] 真假
5) 数组 [array] 键值对复合数据
6) 对象 [Object] [在后面的面向对象中会学到] 
7) NULL 没有值
8) 资源 [resource] “吸管”

NULL 유형은 유형만 NULL로 표시합니다. 값이 비어 있습니다. NULL은 값이 없음을 의미합니다

$a = 3;//整型
$b = 3.14;//浮点型
$c = null;//null型
$d = 'hello';//字符串
$e = true;//布尔型
echo $D;

변수 이름 명명 규칙:

[a-zA-Z0-9] 및 밑줄(_)
1) 변수 이름은 대소문자를 구분합니다.
2) 숫자로 시작할 수 없습니다

1.2: 변수 감지

echo 존재하지 않는 변수는 알림 수준의 오류를 보고하므로,

그래서 변수가 존재하는지 확인해야 합니다.

변수가 존재하는지 확인하는 방법은 무엇입니까?isset — 변수가 설정되어 있는지 확인합니다.
선언된 변수는 true를 반환하고, 선언되지 않은 변수는 false를 반환합니다.
변수가 있는지 감지: 변수 이름이 목록에 있는지 확인하세요.

$b = null; $c = false; $d=0; $e='';
//分别检测上述变量是否存在 
if(isset($a)) {
  echo '变量b存在';
 }else{
  echo '变量b不存在'; 
}

값이 NULL인 변수의 경우 null에는 값이 없으므로 false도 반환됩니다. . 선언되지 않은 변수는 물론 존재하지 않습니다.

1.3: 유형 감지

변수 유형과 PHP가 저장하는 유형을 감지합니다. 변수 유형이 이미 상자에 저장되어 있기 때문에 PHP가 변수 유형을 얻는 것은 매우 간단합니다.

gettype — 변수 유형 가져오기 [기성 시스템 함수]

$a = false;
echo gettype($a);
$b = "1";
echo gettype($b);
$c = 1.11;
echo gettype($c);
$d = 'hello';
echo gettype($d);
$e = null;
echo gettype($e);

변수가 특정 유형인지 판단

is_float()[is_double] 检测变量是否为浮点型
is_int()[is_integer] 检测变量是否为整型
is_string() 检测变量是否为字符串
is_object() 检测变量是否为对象
is_array() 检测变量是否为数组
is_resource 检测变量是否为资源类型
is_bool 检测变量是否是布尔型
is_null 检测变量是否为 NULL
$a = 'hello';
if(is_string($a)) {
  echo 'a是字符串'; 
}else{
  echo 'a不是字符串';
 }

1.4: 인쇄 변수 디버깅

에코 문자열, 숫자

print_r은 계층적 데이터를 인쇄합니다. 배열로, 객체
var_dump는 변수의 유형과 값을 인쇄합니다. [코드 디버깅에 더 편리합니다.]

$a = 'hello';
$b = array(1,2,"3"); $c = false;
$d = null;
$e=18;
$f = true;
//布尔型的true会打印出1,false和null什么都不显示
 echo $a,$b,$c,$d,$e,$f,&#39;<hr>&#39;;
//print_r 打印层次化的数据,比如数组和对象 
print_r($b);
print_r($c);
print_r($d);
print_r($f);
//不要用echo和print_r打印布尔型的值,因为会干扰我们 
//用var_dump打印布尔和null
var_dump($c);
var_dump($d);

1.5: 유형 변환

PHP에서는 변수의 유형을 언제든지 변환할 수 있습니다. 가장 일반적인 것은 문자를 숫자로 변환하는 것입니다. 또는 숫자/문자열 -> 부울 값 변환 ​​

문자열을 숫자로 변환 잘못된 숫자가 나올 때까지 왼쪽에서 오른쪽으로 가로채기

$a = &#39;12&#39;; $b=$a+3; 
var_dump($b);
$a = &#39;12.5hello&#39;; 
//$a = &#39;12.5hello99&#39;; 
$b=$a+3;
var_dump($b);
$a = &#39;word12.5hello&#39;;
$b=$a+3; 
var_dump($b);

숫자를 문자열로 변환

$a = 123;
$b = $a . &#39;hello&#39;;
var_dump($b);

숫자/문자열/배열을 부울 값으로 변환

$b=3; 
if($b){
echo &#39;b is true&#39;;
 }else{
    echo &#39;b is false&#39;;
}

판정된 값이 부울 값이어야 하는 경우 숫자 3은 부울 값으로 변환됩니다. 이해하세요. 참 또는 거짓으로 이해해야 합니까?


다음 값은 모두 부울 값으로 거짓으로 이해됩니다. ​​'','0',0,0.0,false ,NULL,array(); 및 기타 값은 부울로 처리됩니다. true

if(&#39;&#39; == false) {
echo &#39;空字符串果然假&#39;;
}

empty(var) — 변수가 비어 있는지 확인var이 비어 있지 않거나 0이 아닌 값이면 비어 있음() FALSE
를 반환합니다. 즉, "", 0, 0.0, "0", NULL, FALSE, array() 및 속성이 없는 객체는 비어 있는 것으로 간주됩니다. var가 비어 있으면 TRUE가 반환됩니다

$arr = array();
if(empty($arr)) {
echo &#39;变量为空&#39;;
 }

1.6: 과제

두 가지 유형의 과제가 있습니다.

1. 값별 과제(두 사람이 같은 채널을 시청함)
2. 참조로 과제(두 사람이 같은 TV를 시청함)

1. value 변수 이름은 실제로 상자에 게시되지 않습니다. 위에는 클래스 명단과 같은 변수 테이블이 있습니다. 변수 값과 변수 유형은 상자에 배치됩니다. box.

$li = 23;
$wang = $li;
echo $li, &#39;~&#39;, $wang;

$li, $wang의 값을 변경합니다.

$li = 99;
echo $li, &#39;~&#39; ,$wang;

의 값을 변경합니다. 이 할당 프로세스는 $li의 값을 $wang


에 할당하는 것입니다. 2. 참조 할당

$a = &#39;tvb&#39;;
$b = &$a; 
//$a,$b共同指向同一个值 
echo $a,&#39;~&#39;,$b;

$의 값을 변경합니다. a

$a = &#39;btv&#39;;
echo $a,&#39;~&#39;,$b;

1.7: Destruction

왜 변수를 삭제해야 합니까? 때로는 더 큰 배열이나 더 큰 객체, 특히 GD 도면이 더 많은 리소스를 소비하기 때문에 설정을 해제하면 시간 내에 메모리를 해제할 수 있습니다(변수 이름). 변수에서 지정된 변수를 먼저 삭제합니다. 테이블(명부)에서 변수 이름을 삭제한 다음 해당 상자를 찾아서 삭제합니다.

$a=99; //unset($a);
if(isset($a)) {
 echo &#39;a存在&#39;;
}else{
  echo &#39;a不存在&#39;;
}

참고: 참조 할당, 두 변수가 같은 상자를 가리키는 경우, 변수 중 하나가 파괴되면 상자는 파괴될 수 없습니다. 분실되었습니다.
$a=99;
$b = &$a;
unset($a);
echo $a,$b;//报一个notice的错误

$a에 새 값을 다시 할당

$a=18; 
echo $a,$b;

1.8: 동적 변수 이름

동적 변수 이름은 PHP의 유연성을 반영할 수 있습니다.

변수 값을 사용하여 이름을 만듭니다. 또 다른 변수

$laoda = &#39;liubei&#39;;
echo $laoda , &#39;<br >&#39;;
$paihang = &#39;laoda&#39;;
echo $paihang , &#39;~&#39; , $$paihang;
//排行
$rank = &#39;paihang&#39;; 
echo $$$rank;

위 내용은 PHP 변수 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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