1. 程式人生 > >php第二節(變量、常量)

php第二節(變量、常量)

is_null 數值類型 con null 知情 constant 情況 demo 當前

<?php
/**
 * 類型轉換
 * 自動轉換  數據在運算過程中自動轉換
 * 空字符串 false
 * "0" false
 * null false
 * 0 false
 * 空數組 false
 * 1、 轉為布爾型(即返回值為0)
 *    空字符串‘‘或""
   * 數字0或0.0 字符‘0‘或"0"
   * 空值NULL 沒有成員的數組 false
   **   其余都轉換成布爾型true,包含資源 
*2、 轉為整數或浮點型    
  *  如果字符串為合法的數字字符串,則直接轉換成整型/浮點型
  *  如果字符串中包含.或e或E,則轉換成浮點型;否則轉換成整型
  *  非法的數字字符串轉換成數值0
 
*3、  轉為字符串型    
 *   數值將直接轉換成數字字符串
 *   布爾型的true轉換成字符"1";false轉換空字符串
 
*/ $name="0";// 0, 0.0 ,‘‘ ,"" ,"0" ,‘0‘ ,null, [] 為false if($name){ echo "yes"; }else { echo "no"; } //加法運算 字符串裏的第一個數字開始算只要遇到不是數字的直接忽略 $name1="1ss22"; $age=12; $res=$age+$name1; echo $res; //. 想當於js中的 + 作連接符 $age1="sdfff"; $name2=122; $res1=$name2.$age1; echo $res1; /** * 強制數據轉換 *PHP的數據類型轉換屬於強制轉換,允許轉換的PHP數據類型有: *(int)、(integer):轉換成整形 *(float)、(double):轉換成浮點型 *(string):轉換成字符串 *(bool)、(boolean):轉換成布爾類型 *(array):轉換成數組 * object):轉換成對象 * PHP數據類型有三種轉換方式: * 在要轉換的變量之前加上用括號括起來的目標類型 * 使用3個具體類型的轉換函數, * intval()、 * floatval()、 * strval() * 使用通用類型轉換函數settype(mixed var,string type) * 會改變原先的數據類型
*/ $sum="12"; $num=(int)$sum; $sum1="12"; $num2=(int)$sum1; $sum2="12"; $num2=(int)$sum2; var_dump(num); var_dump(num1); var_dump(num2); //PHP數據類型有三種轉換方式: //intval($sum); strvak($sum); floatval($sum); $we=intval($sum); var_dump($we
); //分別用var_dump();打印 //通用函數 settype($sum,"string"); $str=settype($sum,"string"); var_dump($str); /** * 變量默認值 * 1.不確定類型時的默認值(null): * 2.數值類型時的默認值(0): * 3.字符串的默認值是(” ”); * 4.布爾類型的默認值是(假); * 5.數組的默認值是(0 */ /** * 變量的作用域 * 全局變量 函數之外的變量 * 局部變量 函數內定義的變量 * 超全局變量 系統定義的變量 * 靜態變量 函數內部定義用於函數數據共享 */ /** * 變量的常用函數 * is_array() 判斷是否為數組 * is_null() 判斷是否為null * unset() //銷毀對象變量等 * isset() 檢查變量是否存在; null和變量聲明未賦值 返回false,其他都為真 * empty();判斷一個變量是否被認為是空的。當一個變量並不存在,或者它的值等同於FALSE,那麽它會被認為不存在。如果變量不存在的話, * */ is_array() 判斷是否為數組 $arr = 12.2343; if (is_array($arr)) { echo "yes"; } else { echo "no"; } //is_null() 判斷是否為null $name = null; if (is_null($name)) { echo "yes"; } else { echo "no"; } //unset() //銷毀對象變量等 $name = array(1, 2, 3); class Person { } $obj = new Person; unset($obj); echo "<pre>"; var_dump($obj); //isset() 檢查變量是否存在; null和變量聲明未賦值 返回false,其他都為真 if (isset($name)) { echo "yes"; } else { echo "no"; } //empty();判斷一個變量是否被認為是空的。當一個變量並不存在,或者它的值等同於FALSE,那麽它會被認為不存在。如果變量不存在的話, if (empty($name)) { echo "yes"; } else { echo "no"; } // 什麽是常量: // 常量可以理解為值不變的量;或者是常量值被定義後,在腳本的其他任何地方都不可以被改變。PHP中的常量分為自定義常量和系統常量。 // 自定義常量:是根據我們開發的需要,而定義的常量,它通過使用PHP中的函數define() 定義。 // 系統常量:是PHP已經定義好的常量,我們可以直接拿來使用。 // 常量的作用: // 常量主要功效是可以避免重復定義,篡改變量值。在我們進行團隊開發時,或者代碼量很大的時候,對於一些第一次定義後不改變的量,如果我們使用變量,在不知情的情況下,使用同一變量名時,變量值就會被替換掉,從而會引發服務器執行錯誤的任務。 // 此外,使用常量還能提高代碼的可維護性。如果由於某些原因,常量的值需要變更時候,我們只需要修改一個地方。 // 認識系統常量: // __FILE__ 當前PHP文件的相對路徑 __LINE__ 當前PHP文件中所在的行號 // __FUNCTION__ 當前函數名,只對函數內調用起作用 __class__ 當前類名,只對類起作用 // PHP_VERSION 當前使用的PHP版本號 PHP_OS 當前PHP環境的運行操作系統 // true 與true一樣 false 與false一樣 // M_PI 圓周率常量值 M_E 科學常數e // M_LOG2E 代表log2 E_ERROR 最近的錯誤之處 // E_WARNING 最近的警告之處 E_PARSE 剖析語法有潛在問題之處 // __METHOD__ 表示類方法名,比如B::test // define和const的區別: // 1 、const是一個語言結構;而define是一個函數,可以通過第三個參數來指定是否區分大小寫。true表示大小寫不敏感,默認為false // 例子:define(‘PI‘, 3.14, true); // 2 、const簡單易讀,編譯時要比define快很多。 // 3 、const可在類中使用,用於類成員常量定義,定義後不可修改;define不能在類中使用,可用於全局變量 // 4 、const是在編譯時定義,因此必須處於最頂端的作用區域,不能在函數,循環及if條件中定義;而define是函數,也就是能調用函數的地方都可以定義 // 5 、const只能用普通的常量名,define常量名中可以有表達式 // 6 、const定義的常量只能是靜態常量,define可以是任意表達式 // 判斷常量是否被定義: // defined() 函數可以幫助我們判斷一個常量是否已經定義,其語法格式為: // bool defined(變量名類型 變量名) 若存在則返回布爾類型true,否則返回布爾類型false。 // 常量與變量的區別: // 1. $ :常量前面沒有( $) // 2. define: 常量只能用define() 函數定義,而不能通過賦值語句 // 3. 作用域: 常量可以不用理會變量的作用域而在任何地方定義和訪問 // 4. 重定義: 常量一旦定義就不能被重新定義或者取消定義 // 5. 標量類型:常量的值只能是標量 // 6. 命名空間:常量和(全局)變量在不同的名字空間中 define("NAME", "jack"); echo NAME; $res = constant("NAME");//有返回值 echo $res; include("demo.php"); ?>

php第二節(變量、常量)