
批改狀態(tài):合格
老師批語:不是很好!注意代碼規(guī)范!適當(dāng)加點(diǎn)文字說明。
//函數(shù)的聲明
function Sum(int $a ,int $b):int
{
return $a *$b;
};
//函數(shù)的調(diào)用
echo Sum(1,2) ,'<hr>';
function getCount(float $a,float $b):float
{
return $a+$b;
}
echo getCount(1.5,4.5),'<hr>';
$str="函數(shù)調(diào)用機(jī)制,改進(jìn)函數(shù)調(diào)用機(jī)制,通過優(yōu)化參數(shù)傳遞環(huán)節(jié),減少一些指令";
//字符串截取 一個中文字符相當(dāng)于三個字節(jié)
echo substr($str,0,6),'<hr>';
$name='getCount'; //getCount()是上面自定義函數(shù)
echo $name(1,2),'<hr>';
$p =function(float $a,float $b){
return $a+$b;
};
//匿名函數(shù)在'php'中也成為'閉包':可訪問父作用域中的變量
$c=10;
$p =function(float $a,float $b) use ($c){
return ($a+$b)*$c;
};
echo $p(1.2,3.3),'<hr>';
//兩個匿名函數(shù)嵌套
$f=function(int $c){
$p =function(float $a,float $b) use ($c) {
return ($a+$b)*$c;
};
//返回函數(shù)
return $p;
};
//調(diào)用
echo $f(10)(1,2),'<hr>';
// array_map() 映射 將傳入的數(shù)組根據(jù)函數(shù)進(jìn)行處理并返回
// 第一個參數(shù)是函數(shù) 第二個參數(shù)是需要異步處理的數(shù)組
$arr=array_map(function($item){
if( $item %2 ===0){ //求數(shù)組的偶數(shù)
return $item;
}
},$data);
var_dump($arr);
//過濾掉array_map()處理的NULL值
$arr_1=array_filter($arr,function($item){
if(!empty($item)) return $item;
});
var_dump($arr_1);
//將數(shù)組鍵值重新排列 array_values($arr)
var_dump(array_values($arr_1));
function demo01():string
{
$s='1';
$m='成功';
return $s.'<span style="color:red">'.$m.'</span>'.'<hr>';
}
echo demo01();
//通過數(shù)組的方式返回
function demo02():array
{
$arr=array('s'=>'1','m'=>'成功');
return $arr;
}
var_dump(demo02()) ;
// json_encode($array) 將數(shù)組轉(zhuǎn)換數(shù)據(jù)
// json_decode($json,true) json還原成$array 第二個參數(shù)不加則返回一個對象
function demo03():string
{
$arr=array('s'=>'1','m'=>'成功');
return json_encode($arr);
}
echo demo03(),'<br>';
// 還原數(shù)組
$arr=json_decode(demo03());
var_dump($arr);
echo '<br>';
$arr=json_decode(demo03(),true);
var_dump($arr);
echo '<hr>';
// serialize()序列化 unserialize()反序列化
echo serialize(123),'<br>';
echo serialize('123'),'<br>';
echo serialize(true),'<br>';
echo serialize([1,2,3]),'<br>';
function demo04():string
{
$arr=array('s'=>'1','m'=>'成功');
return serialize($arr);
}
echo demo04(),'<br>';
var_dump(unserialize(demo04()));
echo '<hr>';
function demo1(float $arg):float
{
return $arg;
}
echo demo1(1).'<hr>';
function demo2(float &$arg):float
{
return $arg*=2;
}
$val=120;
echo $val.'<br>';
echo demo2($val).'<br>';
echo $val.'<hr>';
function demo3(int $arg,int $a=10):int
{
return $arg*=$a;
}
echo demo3(10).'<hr>';
function demo4(...$args):int
{
return array_sum($args);
}
echo demo4(1,2,3,4,5),'<br>';
echo demo4(1,2,3,4,5,6,7).'<br>';
$arr=[1,2,3,4,5,6,7,8];
$res=demo4(...$arr);
echo $res,'<hr>';
namespace btn1{
function dmmo(){
return '1234';
}
}
//全局(默認(rèn))空間 執(zhí)行程序的入口
namespace {
function demo(){
};
echo \btn1\dmmo();
}
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號