Correcting teacher:天蓬老师
Correction status:qualified
Teacher's comments:
<?php
//php运算符号
function powexc($a,$b){
if (is_numeric($a) && is_numeric($b)) :
if (version_compare(PHP_VERSION, '5.6.0') > 0) :
return $a**$b;
else :
return pow($a, $b);
endif;
else:
return '参数错误,请求拒绝!';
endif;
}
echo '幂运算:10的平方:', powexc(10,2);
echo "<pre></pre>";
//太空船运算符;
function comparerun(){
//null 合并运算符号
$a=$_GET['c1']??1;
$b=$_GET['c2']??1;
return $a<=>$b;
}
switch(comparerun()){
case 0:
echo "两个数相等";
break;
case 1:
echo "第一个数大于第二个数";
break;
case -1;
echo "第一个数小于第二个数";
break;
default:
echo '比较拒绝!';
}
echo "<pre></pre>";
//求摸运算符
$year=2020;
if($year%4==0 && $year%100!=0){
echo $year."是闰年.";
}
效果:
<?php
//单分支
if (!isset($num)) {
echo "未赋值!";
}
echo "<pre></pre>";
if (!isset($num)) :
echo "未赋值!";
endif;
echo "<pre></pre>";
//双分支
$flag = 0;
if (!isset($flag)) {
echo "未赋值!";
} else {
echo "已赋值!";
}
echo "<pre></pre>";
if (!isset($flag)) :
echo "未赋值!";
else :
echo "已赋值!";
endif;
echo "<pre></pre>";
//多分枝
$age = $age ?? 17;
if ($age <= 6) {
echo '婴幼儿';
} else if ($age <= 12) {
echo '少儿';
} else if ($age <= 17) {
echo '青少年';
} else if ($age <= 45) {
echo '青年';
} else if ($age <= 69) {
echo '中年';
} else {
echo '老年';
}
echo "<pre></pre>";
if ($age <= 6) :
echo '婴幼儿';
elseif ($age <= 12) :
echo '少儿';
elseif ($age <= 17) :
echo '青少年';
elseif ($age <= 45) :
echo '青年';
elseif ($age <= 69) :
echo '中年';
else :
echo '老年';
endif;
echo "<pre></pre>";
$age = 45;
function returnage()
{
global $age;
if ($age <= 6) :
return '婴幼儿';
elseif ($age <= 12) :
return '少儿';
elseif ($age <= 17) :
return '青少年';
elseif ($age <= 45) :
return '青年';
elseif ($age <= 69) :
return '中年';
else :
return '老年';
endif;
}
switch (returnage()) {
case '婴幼儿':
echo '幼稚园阶段';
break;
case '少儿':
echo '小学教育';
break;
case '青少年':
echo '初高中阶段';
break;
case '青年':
echo '社会的中流砥柱';
break;
case '中年':
echo '上有老下有小';
break;
case '老年';
echo '退休养老';
break;
default:
echo "人生轨迹不明";
}
echo "<pre></pre>";
switch (returnage()):
case '婴幼儿':
echo '幼稚园阶段';
break;
case '少儿':
echo '小学教育';
break;
case '青少年':
echo '初高中阶段';
break;
case '青年':
echo '社会的中流砥柱';
break;
case '中年':
echo '上有老下有小';
break;
case '老年';
echo '退休养老';
break;
default:
echo "人生轨迹不明";
endswitch;
echo "<pre></pre>";
echo "循环语句:";
echo "<pre></pre>";
foreach($_SERVER as $key => $v){
echo "<pre> {$key} => {$v}</pre>";
}
echo "<pre></pre>";
foreach($_SERVER as $key => $v):
echo "<pre> {$key} => {$v}</pre>";
endforeach;
echo "<pre></pre>";
for($i=0;;$i++){
if($i==5){
break;
}
echo str_replace("\n","<br>",$i."\n") ;
}
echo "<pre></pre>";
for($i=0;;$i++):
if($i==5):
break;
endif;
echo str_replace("\n","<br>",$i."\n") ;
endfor;
echo "<pre></pre>";
$flag=0;
while(!$flag){
echo "条件成立才执行";
$flag=1;
}
echo "<pre></pre>";
$flag=0;
while(!$flag):
echo "条件成立才执行";
$flag=1;
endwhile;
$flag=0;
echo "<pre></pre>";
do{
echo "至少执行一次";
$flag=1;
}while(!$flag);
echo "<pre></pre>";
效果:
答:
文件包含本质:模块化编程.
include包含文件时候,若果文件不存在,只是警告一下,后续语句会继续执行,require抛出严重错误,后续语句不再继续执行。
include和require都可以返回值不是真的函数,include在运行阶段执行,可以放在if 和函数中。
require 和 include 几乎完全一样,除了处理失败的方式不同之外。
containfile.php
<?php
//
require'config.php';
echo $config;
echo "<br>";
$a=include 'returnarray.php';
$b=include 'returnarray.php';
echo $a===$b;
echo "<br>";
function houxuzhixing(){
require'config.php'; //包含的变量作用尽在此时
}
config.php
<?php
$config="hello,文件包含";
class test{
function __construct()
{
$c= include 'returnarray.php';
echo "okay";
}
}
new test();
returnarray.php
<?php
return ['hello','word'];
效果: