1.引用賦值,傳址方式:
<?php
$a = "before";
$b = &$a;
$a = "later";
echo $a; //結果:later
echo $b; //結果:later
?>
$b保留了$a地址的引用,類似於c++的指針。
2.常量的聲明:
//常量定義:define("常量名稱",“值”)
define('THISISSTATIC', 'value');
echo THISISSTATIC; //結果:value
常量名稱區分大小寫,建議常量命名使用大寫。常量只能是標量:字符串(string)、整型(int)、浮點型(float)、布爾型(Bool),常量聲明後即不可變,下面的做法是無效的:
define('THISISSTATIC', 'valuecChanged');
echo THISISSTATIC; //結果任然是value
常量的作用範圍是全局的,因此可用於數據庫中需要全局使用的一些數據得引用。
3.幾個php內置的常量:
系統常量:
M_PI:即π。
PHP_OS:操作系統。
PHP_VERSION:PHP版本。
echo M_PI; //結果當然是3.1415926535898
echo PHP_OS; //結果:WINNT
echo PHP_VERSION; //結果:5.4.12
魔術常量(根據不同情況而不同):__LINE__:所在行號。
__FILE__:文件在服務器端的路徑。
__FUNCTION__:函數名,在函數中使用。
__CLASS__:所屬類,在類中使用。
__METHOD__:方法
echo __LINE__."<br>"; //所在行號,這裏的結果:24
echo __FILE__."<br>"; //文件在服務器端的路徑
function fun2(){
echo __FUNCTION__."<br>"; //函數名
}
fun2(); //結果:fun2
class cla{
function fun1(){
echo __CLASS__."<br>"; //所屬類
echo __METHOD__."<br>"; //方法
}
}
$obj = new cla();
$obj->fun1(); //結果:cla cla::fun1
4.變量檢測
var_dump函數:檢測變量類型,如果不存在,返回null。
isset函數:檢測變量是否被定義(存在),返回true或false。
defined函數:檢測常量是否定義,意義同上。
$f = isset($undefvar);
if(!$f){
echo "變量不存在<br>";
}else{
echo $f."<br>";
}
if(defined('URL')){
echo URL."<br>";
}else{
echo "您沒有定義該常量<br>";
}
今天寫作業寫了半天,就學了這麼一點點。洗洗睡吧……
以上均爲個人理解,初學php,如果有不對的地方,歡迎大家指正!