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,如果有不对的地方,欢迎大家指正!