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、不相等';
}
?>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM