php常见的数据类型

在PHP中,支持8种原始类型,其中包括四种标量类型、两种复合类型和两种特殊类型。

PHP是一门松散类型的语言,不必向PHP声明变量的数据类型,PHP会自动把变量转换为自动的数据类型(与Python相似,鸭子模型)

四种标量类型:布尔(Boolean)、整型(Integer)、浮点型(Float)、字符串(String)、数组(Array)、对象(object)、NULL(空值)

1、布尔值

 1 <?php 
 2      $man = "男";
 3      $flag = $man == "男";  // "==" 比较运算符
 4      echo $flag ;
 5      echo "<br />" ;
 6      var_dump($flag);    // "var_dump" 给我们表明了 "$flag" 为布尔类型
 7             
 8 ?>
 9  运行结果:
10  1
11  bool(true)

2、整型

 1 <?php
 2         $data_int1 = 123;
 3         echo $data_int1;   //123
 4         var_dump($data_int1);   //int(123)
 5         echo "<br />";
 6         $data_int2 = -123;  
 7         echo $data_int2;    //-123
 8         echo "<br />";
 9         $data_int3 = 0123;
10         echo $data_int3;     // 定义的是八进制,输出的是十进制83
11         echo "<br />";
12         $data_int4 = 0x123;  //定义的是16进制,输出的是十进制291
13         echo $data_int4;
14         echo "<br />";
15 ?>

使用echo可以原样输出变量值,使用var_dump可以输出变量类型

3、浮点类型

 1 <?php
 2         $num_float = 1.234;    //小数点  
 3         $num_float = 1.2e3;    //科学计数法,小写e  
 4         $num_float = 7.0E-10;     //科学计数法,大写E  
 5         ?>
 6 
 7         <?php
 8         $num_float1 = 1.234;
 9         echo $num_float1;
10         echo "<br />";
11         $num_float2 = 1.2e3;
12         echo $num_float2;
13         echo "<br />";
14         $num_float3 = 7.0E-3;
15         echo $num_float3;
16         echo "<br />";
17 ?>

输出结果:
1.234
1200
0.007

4、字符串

字符串可以有单引号、双引号、Heredoc结构形式来表示

单引号里可以放入双引号,双引号里也可放入单引号

当单引号和双引号里分别有变量时,例如:

1 $love = "I love you";
2 <?php 
3 $love = "I love you!"; 
4 $string1 = "慕课网,$love";
5 $string2 = '慕课网,$love';
6 echo $string1;
7 echo "<br />";
8 echo $string2;
9 ?>

输出结果:
慕课网,I love you! 双引号会输出源字符串内容,
慕课网,$love 单引号会把变量名输出

对于较长的字符串来说,可以用Heredoc来表示

1 <?php 
2 $string1 = <<<GOD        //GOD 是标识符可以按照自己的意愿指定
3 我有一只小毛驴,我从来也不骑。
4 有一天我心血来潮,骑着去赶集。
5 我手里拿着小皮鞭,我心里正得意。
6 不知怎么哗啦啦啦啦,我摔了一身泥.
7 GOD;                      //GOD 是标识符,结束需要占一行,且前后不能有空格
8 echo $string1;
9 ?>

5、数组

在PHP中数组分三种:

数值数组,即带有数字id键的数组

 1 如:$cars=array("Volvo","BMW","Toyota");
 2             
 3 使用for循环遍历数值数组
 4 <?php
 5 $cars = array("Volvo","BMW", "Toyota");
 6 $carslength = count($cars);
 7                 
 8 for($x = 0;$x < $carslength;$x++){
 9       echo $cars[$x];
10     }
11 ?>

关联数组

$age = array("Peter" => "35", "Ben" => "39", "Joe" => "50");

关联数组取值 $age["Peter"]   $age["Ben"]  $age["Joe"]

使用foreach循环遍历关联数组

1 foreach($age as $key => $value){
2                     
3     echo $key.$value;
4 }

多维数组

PHP数组排序

数值数组

sort() 对数组进行升序排序

1 <?php
2 sort($cars);
3 $cars = array("Volvo","BMW","Toyota");  //按照首字母排序
4 print_r($cars);
5 ?>

rsort() 对数组进行降序排序

1 <?php
2 rsort($cars);
3 $num = array(1,2,8,9,3,8);
4 print_r($cars);
5 ?>

关联数组

升序排序

$ age = array(“Peter”=>“35”,“Ben”=>“37”,“Joe”=>“43”);

asort() 根据关联数组的value,进行排序

<?php
asort($age);
print_r ($age);
?>

ksort() 根据关联数组的key, 进行排序

<?php
asort($age);
print_r ($age);
?>

降序排序

arsort() 根据关联数组的value,进行降序排序 

<?php
arsort($age);
print_r ($age);
?>

krsort() 根据关联数组的key,进行降序排序

<?php
krsort($age);
print_r ($age);
?>

数组运算符

  x+y 数组合并

  x == y 如果x, y 具有相同的键值对,则返回true

  x === y 如果x 和 y 具有相同的键值对,且顺序相同,类型相同,则返回true

  x != y 如果不相等,则返回true

  x !== y 不恒等,则返回true

6、PHP第一种特殊类型资源——NULL

NULL是空类型,对大小写不敏感,NULL类型只有一个取值。

表示一个变量没有值,当被赋值为NULL,或者尚未被赋值,或者被unset(),这三种情况下变量被认为为NULL。

 1 <?php 
 2              error_reporting(0); //禁止显示PHP警告提示
 3              $var;
 4              var_dump($var);
 5              $var1 = null;
 6              var_dump($var1);
 7              $var2 = NULL;
 8              var_dump( $var2);
 9              $var3 = "节日快乐!";
10              unset($var3);
11              var_dump($var3);
12 ?>

7、PHP第二种特殊类型资源

资源是由专门的函数来建立和使用的,例如打开文件、数据连接、图形画布。

我们可以对资源进行操作(创建、使用和释放)。任何资源,在不需要的时候应该被及时释放。

如果我们忘记了释放资源,系统自动启用垃圾回收机制,在页面执行完毕后回收资源,以避免内存被消耗殆尽

<?php
$file=fopen("f.txt","r");   //打开文件
$con=mysql_connect("localhost","root","root");  //连接数据库
$img=imagecreate(100,100);//图形画布
?>

<?php 
//首先采用“fopen”函数打开文件,得到返回值的就是资源类型。
$file_handle = fopen("/data/webroot/resouce/php/f.txt","r");
if ($file_handle){
//接着采用while循环一行行地读取文件,然后输出每行的文字
while (!feof($file_handle)) { //判断是否到最后一行
         $line = fgets($file_handle); //读取一行文本
         echo $line; //输出一行文本
         echo "<br />"; //换行
}
            }
fclose($file_handle);//关闭文件
?>

 

8、关于类型的比较

对PHP变量进行比较,包括松散和严格比较

" == " 只比较值,不比较类型

<?php
 if(42 == "42"){
      echo "值相等";
    }
?>

"===" 比较值 和 类型 ,两者都相等才返回true

<?php 
if(42 === "42") {
      echo '2、类型相等';
} else {
      echo '3、不相等';
}
?>

 

posted @ 2019-09-18 17:30  神神气气  阅读(1327)  评论(0编辑  收藏  举报