批改状态:合格
老师批语:
echo 'Hello';print 'World'; //有返回值var_dump([1,2,3]);var_export([1,2,3]);printf('uname = %s','朱老师');//格式化输出print_r([1,2,3]);echo sprintf('<div style="color:blue">%s</div>','php中文网');$str=vprintf('%d+%d=%d',[10,20,10+20]);echo $str;// 四个数据格式化函数记忆方式// 1.printf(format,a,b,...):打印(离散参数)// 2.vprintf(format,array):打印(数组参数)// 3.sprintf(format,a,b,...):只返回不打印// 4.vsprintf(format,array):只返回不打印// 记忆:// s:只返回不打印// v:数组参数
function sum(int $a,int $b):int{return $a+$b;}
echo sum(10,20);
// php禁止函数重载:同一作用域内,存在同名函数,根据参数不同判断调用哪个function sum1(int $a, int $b,int $c=0):int{ return array_sum([$a,$b,$c]);}// 3.1参数太少:加一个默认值echo sum1(1,2,3),"\n";// echo sum1(1,2);这样会报错需要默认值// 3.2参数太多:可以用可变参数(...rest)echo sum1(1,2,3,4,5,6),"\n";function sum2(...$args):int{return array_sum($args);}// 3.3引用参数function sum3(&$a){return $a+=10;}$a=10;echo sum3($a);echo '$a='.$a."\n";
// 4.1默认返回单值// 4.2多值返回用数组function fn1(){ return ['admin','admin@php.cn'];}print_r(fn1());list($name,$email)=fn1();// 可以直接用js模板解构[$name,$email]=fn1();echo "$name($email)";
<?php/*** class: 声明类* new: 类的实例化* public: 访问限制符(公开成员/默认值)* private: 访问限制符(私有成员,仅在类中访问,类外不可见)* __construct(): 构造方法(实例化时调用,用于初始化类实例)* $this: 当前类实例的引用,只能用在类中* __get($name): 属性重载,拦截非法属性"读"访问* __set($name,$value): 属性重载,拦截非法属性"写"访问* __call($name,$arguments): 方法重载,拦截非法的方法访问*/// 类声明:classclass Demo{// 访问限制符:public公开成员(默认值)// __method:魔术方法,用户不能直接调用,PHP调用// 用途:创建实例初始化状态,属性,调用方法public string $name='朱老师';private int $salary;private int $age;// 方法:函数// 构造方法:在类实例时化自动调用// __method:魔术方法,用户不能直接调用,由php调用// 用途:创建实例初始化状态,属性赋值,调用方法public function __construct($name,$salary,$age){$this->name=$name;$this->salary=$salary;$this->age=$age;}public function getSalary(){return $this->salary-5000;}public function setSalary($value){$this->salary +=$value;}//属性重载,拦截外部的非法属性访问public function __get($name){if($name==='salary'){return $this->$name-5000;}return $this->$name;}// __set(value):属性设置器(写)public function __set($name,$value){if($name==='salary'){$this->$name += $value;}else{$this->$name = $value;}}// 格式化打印private function hello($a,$b,$c){return <<< DATA$this->name:工资($this->salary)年龄($this->age)DATA;}// 方法重载// $name:方法名称,$arguments:参数数组public function __call($name,$arguments){// return $name .','.join(',',$arguments);if($name==='hello'){return <<< DATA$this->name:工资($this->salary)年龄($this->age)DATA;}}}// 类的实例化:对象// 实例===对象$obj = new Demo('王老师',8000,30);$obj->salary += 2000;// $obj->setSalary(2000);echo $obj->salary."\n";echo $obj->getSalary()."\n";$obj->age=40;echo $obj->age =40,"\n";echo $obj->hello('a','b','c')."\n";var_dump($obj);Db::table('user')->field('id','name');

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号