天天看點

PHP學習筆記-1(變量、常量、類型、作用域、數組、字元串、大小寫)

1、php代碼是包含在代碼塊裡的,就像javascript一樣

<?php ?>    
<? ?>    //簡寫形式
<?= ?>  

//代碼塊中引入另一個php檔案:
//require和include
require "test.php";     //是優先引入(即在檔案頭就會引入),若找不到引入檔案,産生錯誤并停止運作腳本
include "test.php";     //是讀到這一行時才引入.若找不到引入檔案,産生警告腳本将繼續運作


//PHP中對大小寫敏感處理 是比較亂的,詳見後面小節
           

2、PHP變量和常量、作用域

//變量以 "$"開頭,自動識别類型

//函數内部定義的是局部變量,函數外定義的是 全局變量,還有一種超全局變量(系統預定義的特殊變量)

$str = "nostring";
function Fun()
{
    $str = "string";   
    var_dump($str);        //string(6) "string"    
}

function Fun2()
{
    global $x;         //聲明變量,變量的定義在全局
    var_dump($str);    //string(8) "nostring"
}
           

php超全局變量(系統預定義變量,後面還有很多預定義的特殊變量、常量)

$GLOBALS	//全局作用域中的全部變量數組,$GLOBALS[index],存在就取值,不存在就建立
//例子: $GLOBALS["T"]=;


$_SERVER   //包含腳本所在伺服器的一些資訊,如:路徑和腳本位置的資訊   

$_REQUEST	//包含所有請求資訊,包括$_GET,$_POST,$_COOKIE

$_POST     //是一個數組,存有表單get/post過來的key-value
$_GET

$_COOKIE
$_SESSION  //存session域資料,先 session_start();開啟SESSION;

$_FILES
$_ENV
           
//PHP中常量定義:
define($PI,);          //define(name,value);
           

3、資料類型(8種)

string(字元串):"string",'string'
integer(整型): 
float(浮點型,也作 double ): 
boolean(布爾型)    :true/false;

//兩種複合類型:
array(數組)
object(對象)

//兩種特殊類型:
resource(資源)
NULL(空)




//檢視變量類型:gettype()和is_type 系列函數:
//由于曆史原因gettype(float)傳回的是 double,而不是 float 。

var_dump($var);         //檢視某個表達式、變量的值和類型
gettype($var);         //檢視變量的類型
is_int()/is_float();    //判斷變量類型

           

4、php語句:

//php語句類似JAVA等。語句結束需要";",語句塊有 {},有switch,foreach等

for (arr as i)      //foreach,注意是as,并且iterable在前
{
    echo i;
}

switch($str)       //字元串可以用于switch
{
    case "string":
        break;
}
           

5、數組

數組和js類似: 數組就是鍵值對,預設key是從0開始自動配置設定,可以自己指定Key 為字元串等,這樣就是map

//建立數組三種方式:
$arr = new Array("key"=>value);        //指定key-value
new Array(value);                   //指定value,key由系統配置設定
$arr[] = ""                       //指定key-value
           

6、字元串

系統肯定提供了很多字元串處理函數,具體見參考手冊

//字元串連接配接,一般用點号".",但"."效率不如.= 和array-join
$str = "123"."456";        //123456
$str .= "789";         //123456789

$arr=array();         
array_push($arr, $str);
$str = join($arr);      //0123456789
           

7、PHP的函數

//函數名對大小寫不敏感
//和javascript的函數類似
function Fun($var = "")
{
    return NULL;
}
           

8、大小寫敏感問題

//一、大小寫敏感的
常量名、變量名區分大小寫
php.ini配置項指令區分大小寫


//二、不區分大小寫:
函數名、方法名、類名 不區分大小寫;
魔術常量不區分大小寫
NULL、TRUE、FALSE不區分大小寫 
類型強制轉換,不區分大小寫
(int),(integer) – 轉換成整型 
(bool),(boolean) – 轉換成布爾型 
(float),(double),(real) – 轉換成浮點型 
(string) – 轉換成字元串 
(array) – 轉換成數組 
(object) – 轉換成對象