php01

1.1变量类型

  • 整型 [integer] 数学中的整数  
  • 浮点型 [float,double] 数学中的小数     
  • 字符串 [string] 一串字符   
  • 布尔 [boolean] 真假 数组 [array] 键值对复合数据   
  • 对象 [Object]                                       
  • NULL 没有值                     
  • 资源 [resource]                                                                                                                                     

1.2变量名称的命名规范:

  • [a-zA-Z0-9]和下划线(_)
  • 变量名是区分大小写的
  • 不能以数字开头 

1.3变量检测

  说明:echo 一个不存在的变量,会报notice级别的错误, 所以要检测一下这个变量是否存在

  isset(变量名)    检测变量是否设置 已声明的变量返回 true,未声明的变量返回 false.

       对于值为 NULL 的变量,也返回 false,因为null没有值 未曾声明的变量,也不存在 

1.3.1变量类型检测

  •   is_float()检测变量是否为浮点型
  •   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调试打印变量

  •   echo 字符串,数字
  •   print_r 打印层次化的数据,比如:数组,对象
  •   var_dump 打印变量的类型及其值(调试方便)

1.5类型转换

  PHP中,变量的类型是可以随时转换的,非常的灵活 最常见的是字符转与数字之间的相互转换,

   或者是数字/字符  串 -> 布尔值的转换

 

  字符串到数字的转换

  从左到右截取,直道碰到不合法的数字,截取下来的部分转换为数字

 

$a = ‘22‘; $b = $a + 3;var_dump($b);$a = ‘12.5hello‘;//$a = ‘12.5hello99‘; $b = $a +3; var_dump($b);$a = ‘word12.5hello‘;$b = $a + 3; var_dump($b); 

  数字到字符串的转换

$a = 123; $b = $a . ‘hello‘; var_dump($b); 

  数字 数字/字符串 字符串/数组等到布尔型值的转换

$b = 3; if( $b ) { echo ‘b is true‘; } else { echo ‘b is false‘; }

  以下值,都被理解为成布尔型值的假 都被理解为成布尔型值的假 ‘‘,‘0‘,0,0.0,false,NULL,array();

   而其它值,都被当成布尔型的真

 

  empty(var) 检查一个变量是否为空 

  如果 var 是非空或非零的值,则 empty() 返回 FALSE

  如""、0、0.0、"0"、NULL、FALSE、array(); 以及没有任何属性的对象都将被认为是空的

  如果 var 为空,则返回 TRUE

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

1.6变量的赋值

  a.传值赋值

$a = 99;
$b=$a;
echo $a,‘~‘,$b;//99~99
$a=10;
echo $a,‘~‘,$b;//10~99

  b.引用赋值

$a = 99;$b=&$a;echo $a,‘~‘,$b; //99~99$a=10;echo $a,‘~‘,$b; //10~10

1.7变量的销毁

  为什么要销毁变量?

   因为,有时比较大的数组,或者比较大的对象,比较耗费资源,将它unset掉,可以及时释放出内存

  unset(变量名); 销毁指定的变量 

$a = 66; //unset($a);if(isset($a)) { echo ‘a存在‘; } else { echo ‘a不存在‘; }

  注意: 引用赋值,如果两个变量指向同一个盒子,当销毁其中一个变量的时候,盒子是不能被销毁掉的.

$a = 99; $b = &$a; unset($a); echo $a,$b;//报一个notice的错误

1.8动态变量名

  动态变量名,可以体现php非常灵活的一个地方 用变量的值去做另一个变量的名

$laoda = ‘liubei‘; echo $laoda , ‘<br >‘;$paihang = ‘laoda‘;echo $paihang , ‘~‘ , $$paihang;//排行$rank = ‘paihang‘; echo $$$rank;//liubei//laoda~liubeiliubei

 

相关文章