内建函数
- print_r() 打印数组
- var_dump()打印数据类型
- strlen()计算字符串长度
<?php
$a="dhjakfl"
//md5($a)将$a内容进行MD5加密
echo "变量a经过MD5加密后输出:</br>".md5($a)."</br>";
$b="a4jkls";
echo "变量b的字符长度为:".strlen($b)."</br>;
?>
自定义函数
- 自定义函数以“function”开头:
function 函数名(){
代码块;} - 如需返回值,改成return语句。
function 函数名(){
代码块;
return $value;}
<?php
function Student($name,$achievement){
if ($achievement>=80){
echo $name."考了".$achievement."分,可以过个好年了!!!</br>";
}else{
echo $name."考了".$achievement."分,不知道回家会不会挨打啊!!!</br>";
}
}
Student("小敏",80);
Student("小娟",50);
Student("小杨",75);
Student("小明",99);
?>
日期
- date()函数用于对日期或时间进行格式化
- date_default_timezone_set(“PRC”)设置时间区
<?php
date_default_timezone_set('PRC'); //设置中国时区
echo "今天是".date("Y-m-d")."现在时间是".date("h:i:sa")."<>/br";
//strtotime()用来创建日期 但不完美
$d1=strtotime("December 31");
$d2=ceil(($d1-time())/60/60/24);
echo "距离12月31号还有:".$d2."天<";
//输出周六的日期
$stratdate = strtotime("Saturday");
$enddate=strtotime("+6 weeks",$stratdate);
while ($stratdate<$enddate) {
echo date("M d",$stratdate)."<br>";
$stratdate=strtotime("+1 week",$stratdate);
}
?>
类
- 类的变量成员为“属性”。变量前加关键字public/protected/private
- 类的成员方法,通过$this->property(property是属性名字)访问类的属性、方法,但是要访问类的静态属性或者在静态方法里
- PHP定界符的作用是按原格式输出在其内部的,任何特殊字符都不需要转义,定界符中的变量会被正常用值代替
<?php
//创建一个Student类
class Student{
//属性声明为共有的
public $a='sdfs';
public $b=array("a","b",3);
//php定界符 这里为AAA为定界标识符 里面的内容全部输出
public $c=<<<AAA
hello world
AAA;
//结束标识符 行手写且单占一行除了后面跟;结尾
}
$A =new Student();
print_r($A->b);
echo "</br>";
echo $A->a."</br>",$A->c;
?>
函数
_construct()构造函数,用来初始化对象
_destruct()析构函数,释放所暂用的内存
<?php
class Car{
function __construct(){
print "构造函数被调用</br>";
}
function __destruct(){
print "解析函数时被调用";
}
}
$car = new Car();
//实例化时会自动调用构造函数
echo "使用后,准备销毁car对象</br>";
unset($car);//销毁时会调用解析函数
echo "</br>------分割线------</br>";
$car = new Car();
?>
访问控制
- 由关键字实现
public:类成员可以在任何地方被访问
protected:可以被其所在类的子类和父类访问
private:只能被所在类访问
__set当给不可访问或不存在属性赋值时被调用
__get读取不可访问或不存在属性时被调用
<?php
class Student{
//声明私有变量
private $name;
private $age;
private $sex;
//构造函数
function __construct($name,$age,$sex){
$this->name=$name;
$this->age=$age;
$this->sex=$sex;
}
//对象无法访问私有属性,但是通过魔术方法可以改变这一点 __get() __set()
function __get($proName){
return $this->$proName;
}
function __set($proName,$proValue){
$this->$proName=$proValue;
}
//访问私有属性
function may(){
return "我叫:$this->name 年龄:$this->age 性别:$this->sex";
}
//析构函数用来释放内存
function __destruct(){
echo "</br>运行结束,释放内存</br>";
}
}
$A =new Student("白",22,"男");
echo $A->name."<br>";
echo $A->may();
?>
继承
<?php
//创建父类Person
class Person{
//创建父类方法
function read($name){
echo "[".$name."]喜欢三毛</br>";
}
function doIng($name){
echo "[".$name."]喜欢打篮球</br>";
}
}
//创建子类Student
class Student extends Person{
//创建子类方法
function eat($name){
echo "[".$name."]喜欢糖</br>";
}
//当子类中有与父类同名的方法时,就会覆盖父类的方法
function doIng($name){
echo "[".$name."]喜欢打游戏</br>";
}
}
$a = new Person();//创建父类对象
$H = new Student();//创建子类对象
$H->read("素白");//子类对象调用父类的方法
$H->eat("素白");//子类对象调用自己的方法
echo "------------我是分隔符-----------</br>";
$a->doIng("素白");//父类对象调用自己的方法
$H->doIng("素白");//子类对象调用与父类同名的方法
?>
条件判断
- if
<?php
$a=1;
if (条件a){
代码块;}
if (条件b){
代码块;
}
?>
- if…else
<?php
$a=1;
if (条件a){
代码块;}
else{
代码块;
}
?>
- if…elseif…else
<?php
$a=1;
if (条件a){
代码块;}
elseif(条件b){
代码块;
}else{
代码块;
}
?>
- switch
switch(){
case 条件a:...;
break;
case 条件b:...;
break;
default:...;}
大小写敏感
- 所有变量都对大小写敏感
- 所有用户定义的函数、类和关键词(例如if、else、echo)都不敏感
常量
- 定义常量用define (name,value,True/False)其中name是常量名称;第二个是常量的值;第三个对大小写是否敏感,默认为False敏感。
作用域
- global关键字可以使函数内变量成为全局变量
- static关键字可以用来保留函数内变量不被删除
while循环
while
<?php
$i=0; //定义变量i并赋零
while ($i<10){ //当i<10时执行下列操作
$i++; //i自加
echo $i."</br>";输出i
}
?>
do...while
<?php
$i=0; //定义变量i并赋零
do {
$i++; //i自加
echo $i."</br>"; //输出i
}while ( $i<10 )
?>
结构嵌套
- 条件里套条件,循环里加循环。
- Foreach遍历每个元素并循环代码块,美进行一次循环,当前数组元素就会复制给$value变量,并且数组指针会逐一移动,直到最后一个数组元素。
- 这里用到的数组是关联数组(foreach ($Olimpic as $key => $value)中key视为数组“下标”“value”是数组分量)
- 首次运行代码时,页面出现中文乱码,在代码首部加入"header(‘Content-Type: text/html; charset=utf-8’);"后,恢复正常。
- foreach ($array as $value){
待执行代码块;}
-<?php
header('Content-Type: text/html; charset=utf-8');
$Olimpic = array( //创建数组
'2012' => "英国 伦敦",
'2008' => "中国 北京",
'2004' => "希腊 雅典",
'2000' => "澳大利亚 悉尼",
'1996' => "美国 亚特兰大",
'1992' => "西班牙 巴塞罗那",
'1988' => "韩国 汉城",
'1984' => "美国 洛杉矶",
'1980' => "苏联 莫斯科",
'1976' => "加拿大 蒙特利尔",
);
function Sj($Sj){
global $Olimpic; //global将数组设为全局
foreach ($Olimpic as $key => $value){
if ($Sj==$key){ //取出数组的key值 与提交的时间做判断
echo $Sj."年,奥运会在【".$value."】举行。</br>";
}
}
}
Sj(1996);
Sj(2008);
?>
数组
- array()函数用于创建数组。
- print_r()函数用于打印数组。
-索引数组
<?php
$a = array("1","2",3);
$b[0] = "1";
$b[1] = "2";
$b[2] = "3";
echo "第一种显示为:</br>";
print_r($a);
echo"<br>";
echo "第二种显示为:</br>";
print_r($b)."</br>";
?>
关联数组
<?php
$a = array("A"=>"19","B"=>"14","C"=>"11");
$b['A'] = "19";
$b['B'] = "14";
$b['C'] = "11";
echo "第一种显示为:</br>";
print_r($a);
echo"<br>";
echo "第二种显示为:</br>";
print_r($b)."</br>";
?>