Correcting teacher:PHPz
Correction status:qualified
Teacher's comments:
<?php
/**函数:完成特定功能的代码块 */
echo strtoupper('imzchloe');
echo strlen ('wwwppcns');
echo abs(-45);
/*
function 函数名称([参数列表 -参数)
{
函数体
return 返回值
函数只能返回单个值 return 后面的代码不会执行
}*/
ob_clean();
function divide($one,$two){
return $one/$two;
}
echo divide(99,9);
function demo(){
return 'nihao';
return true;
}
var_dump(demo());
ob_clean();
function test()
{
return['status'=>1,'msg'=>'登录成功'];
}
print_r(test());
//多个值以对象的形式返回
function demo2(){
return new class(){
public $name='chloe';
public $gender='女';
};
}
$obj=demo2();
var_dump($obj);
echo $obj->name;
echo $obj->gender;
function demo3(){
//json_encode编码转换json字符串
return json_encode(['status'=>1,'msg'=>'验证成功']);
}
var_dump(demo3());
$res=demo3();
var_dump(json_decode($res,true) );
<?php
/**命名函数是全局成员 不受作用域限制
**匿名函数是闭包
**/
/*function getName($name){
return "欢迎{$name}来到php中文网做客";
}
echo getName('高洛峰先生');
$closure = function ($name){
return "欢迎{$name}来到php中文网做客<br>";
};
echo $closure ('胡歌');
//变量的作用域
//全局变量 函数体外声明的变量
$itemName='iphone 12 por max 256g';
$itemPice=12342;
function getItemInfo(){
return sprintf('今日主推是的%s,商品价格是%d',
$itemName,$itemPrice);
}*/
//返回 一个3行2列的表格
function createTable(int $rows, int $cols,string $content, $bgColor):string
{
$table = "<table border='1' cellspacing='0' cellpadding='0' bgColor='$bgColor'>";
for ($i = 0; $i < $rows; $i++) {
$table .= "<tr>";
for ($j = 0; $j < $cols; $j++) {
$table .= "<td>$content</td>";
}
$table .= "</tr>";
}
$table .= '</tbale>';
return $table;
}
//echo createTable(3,6,'红','red');
//参数:实参
function createTable1(int $rows =7,int $cols=6,string $content='大',string $bgColor='green'):string{
$table = "<table border='1' cellspacing='0' cellpadding='0' bgColor='$bgColor'>";
for ($i = 0; $i < $rows; $i++) {
$table .= "<tr>";
for ($j = 0; $j < $cols; $j++) {
$table .= "<td>$content</td>";
}
$table .= "</tr>";
}
$table .= '</tbale>';
return $table;
}
//echo createTable1('留','orange');
/**
1.参数列表是从左到右
2.不传参数或者少传参数,都会使用默认的参数值,如果用户传了参数,会发生覆盖
*
*/
//echo createTable1(8,8);
echo createTable1();
echo createTable1(5,6,'pink','pink');
//剩余参数 适应于参数个数不确定
if(!function_exists('test'))
{
//当剩余参数用于参数列表中 收集
function test($a,$b,$c,$d,$e){
return $a+$b+$c+$d+$e;
}
echo test(1,2,3,4,5);
}
ob_clean();
//剩余参数 适应于 参数的个数不确定
function test1(...$args){ //剩余参数用于参数列表中表示收集作业
var_dump($args);
return array_sum($args);
}
echo test1(222123,5434,132154,44,6871);
$arr=[123,234,523,543];
echo test1(...$arr); //剩余参数用在函数的调用表达式中:展开
//数据库连接
function connect(...$arg){
return new pdo1($arg[0],$arg[1],$arg[2]);
}
$pdo=connect('mysql:dbname=news','root','zhoujielun521');
var_dump($pdo);
if($pdo)echo "数据库连接成功";
<?php
/*
* 命名函数是全局成员 不受作用域限制
* */
function getName($name){
return "欢迎{$name}来到php中文做客";
}
echo getName('高洛峰先生');
//变量的作用域
//全局变量 函数体外声明的变量
$itemName ='iphone 12 por max 256g';
$itemPrice =12585;
/*function getItemInfo(){
return sprinft('今日主推产品$s,商品价格是%d',$itemName,$itemPrice);
}
echo getItemInfo();*/
function getItemInfo_pro(){
//global $itemPrice,$itemName;
return sprintf('今日主推产品是%s,商品价格是%d<br>',$GLOBALS['itemName'],$GLOBALS['itemPrice']);
}
echo getItemInfo_pro();
//局部变量 在函数体内声明的变量
function add(){
//子作用域
$leftNum=25;
$rightNum=56;
echo "$leftNum + $rightNum =".($leftNum+ $rightNum);
}
add();
//echo $leftNum;
ob_clean();
//闭包
$clouser1=function() use ($itemName,$itemPrice)
{
return sprintf('今日主推产品是%s,商品价格是%d<br>',$GLOBALS['itemName'],$GLOBALS['itemPrice']);
};
echo $clouser1();
ob_clean();
//闭包作为函数的返回值
function getSite($site){
return function ($color) use ($site){
return sprintf('<h1 style="color:%s"><center>%s</center></h1>',$color,$site);
};
}
//函数的返回值是b闭包
$closure2= getSite('淘宝网');
echo $closure2('orange');
echo getSite('拼多多')('blue');
//闭包可以改变变量上下文的值
$name='九阴白骨爪';
$closure3 = function($newName) use($name){
$name=$newName;
};
$closure3('一阳指');
echo $name;