PHP完全手册- 基础语法

1. PHP提供两种方式对变量进行赋值:传值赋值(复制值)和传地址赋值(引用)

 

$home="ss";

$home2=&$home;    传地址,改变home,或者home2都会是它们的值发生改变

 

<?php
        function func(&$parm) {
	         $parm=1;
       }
       $a=0;
       func($a);
       echo $a;       输出1
?>
 

 

2. PHP的变量按照作用域的不同分为3种:本地变量、全局变量和静态变量。

(1)本地变量:

<?php
	$a=1;
	function func(){			
	    echo "variable a in func:".$a."<br>";没有输出,$a为空,函数内部的变量,都被限制在局部函数范围内
	}
	func($a);
	echo "variable a in func:".$a."<br>";
?>

 (2)全局变量:以下两种方式 都可定义全局变量

<?php
	$a=1;
	function func(){
		global $a;		
		//echo "variable a in func:".$a."<br>";   在函数内部标示$a为全局变量
		echo "variable a in func:".$GLOBALS["a"]."<br>";  
	}
	func($a);
	echo "variable a in func:".$a."<br>";
?>

  (3)静态变量

<?php
	function func(){
		static $a=1;			
		echo "variable a in func:".$a."<br>";
		$a++;
	}
	func();
	func();   第二次调用,$a没有被重新初始化
?>

 

 3. 动态变量   动态变量的变量名是可变的,也就是通过两一个变量传递。

<?php	
	$var="ic";				
	$$var="This";                    用$var的值作为变量名,等价于 $ic="This"
	echo $var."<br>";              输出变量名
	echo $$var."<br>";            $$var等价于$($var)等价于$(ic)  输出变量值
	echo $ic;                           ic是由$var的值传递的,可以实现同样的变量调用
?>
 

4. require_once与include_once的区别

(1)机制不同,不管require语句是否被运行,都会将包含的文件代码包含进来。而include语句没有被执行,则包含文件的代码不会被包含进来。

(2)文件不存在时的错误处理方式不一样:如果被包含的文件找不到,require语句会抛出一个致命错误并中止脚本的运行,而include只会抛出警告信息。

 

5. PHP常用函数

(1)getdate  获取日期时间信息,返回数组。缺点,时间不够精确,只能精确到秒。

 

键名说明返回值例子
"seconds"秒的数字表示0 到 59
"minutes"分钟的数字表示0 到 59
"hours"小时的数字表示0 到 23
"mday"月份中第几天的数字表示1 到 31
"wday"星期中第几天的数字表示0(表示星期天)到 6(表示星期六)
"mon"月份的数字表示1 到 12
"year"4 位数字表示的完整年份例如:1999 或 2003
"yday"一年中第几天的数字表示0 到 365
"weekday"星期几的完整文本表示Sunday 到 Saturday
"month"月份的完整文本表示January 到 December
0自从1970.01.01开始至今的秒数,和 time() 的返回值以及用于 date() 的值类似。系统相关,典型值为从 -2147483648 到 2147483647。

 

(2)gettimeofday  返回精确到微秒级的时间,所返回的数组键的含义是:

  • "sec" - 自 Unix 纪元起的秒数
  • "usec" - 微秒数
  • "minuteswest" - 格林威治向西的分钟数
  • "dsttime" - 夏令时修正的类型

 

(3)checkdate(month,day,year)   验证日期是否有效

(4)date 格式化本地时间

(5)输出控制函数flush:输出缓存区,应用于网页比较大或者网页的后台操作比较多的情况下,分阶段地输出缓存区可以使访问者耐心地等待页面的完成。

<?php
echo "Starting....<BR>";
for($i=0;$i<10000000;$i++){
	if($i%100000==0){
		echo "Processing ".$i."<BR>";
		flush();
	}
}
echo "All done."
?>

每循环十万次输出一行。如果删掉flush,所有的输出将在一千万次循环后同时输出。

(6) isset检测变量是否已经被赋值  unset销毁指定的变量

 

$var =1;                                         只有赋值为NULL时,才为False

var_dump(isset($var));                 ar_dump -- 打印变量的相关信息,包括变量类型和变量的值

unset($var);

var_dump(isset($var));

 

6. PHP中特殊的构造方法

 

class Dog{
	var $name;
	function __construct(){           特殊的构造函数
		$this->name="Joe";
		print "构造函数";
	}	
}
$dog=new Dog;
$dog2=new Dog();   小括号可有可无
 

 

function __destruct(){          析构函数

print "析构函数<br>";

}

7.父类调用子类的方法         parent::function();

 

8.静态类的调用  MainThread::send()    因为没有对象被创建,所以不能使用"->"

PHP中的静态类和非静态类并没有明确的界限。同样一个类,如果通过创建对象来调用,就可以看做是一个

非静态类。如果通过类名直接调用,可以看做是一个静态类。

 

9.克隆对象  $new_obj = clone $old_obj   如果类中包含 __clone函数,则会自动调用。

10. header("Location:Post.htm");  重定向  的URL

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值