zoukankan      html  css  js  c++  java
  • 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、不相等';
    }
    ?>
  • 相关阅读:
    [NOIP模拟赛][贪心]奶牛晒衣服.
    BZOJ3750: [POI2015]Piecz
    BZOJ2348 [Baltic 2011]Plagiarism
    高精度乘法【高乘高
    codevs 1215 迷宫
    变量交换
    a+b问题与圆柱体表面积的计算
    算数表达式的练习
    [bzoj1070][SCOI2007]修车[ 网络流]
    [bzoj2502]清理雪道[上下界网络流]
  • 原文地址:https://www.cnblogs.com/liaopeng123/p/11543931.html
Copyright © 2011-2022 走看看