Live2D

php第四节(循环和函数)

<?php
//循环有 for(){}、有while(){} 有do{}while()、foreach(){}循环
//1、for(){}
for($i=0;$i<=9;$i++){
    echo $i."<br/>";
}
//2.while()
$var =1;
while($var<=5;){
echo "*";
$var++;

}
//3.do{}while()
do{
echo "林夕"."<br/>";
$t++;
}while($t<=6;)

//foreach() 主要用于循环数组

$arr=[1,2,3,4,6];
foreach($arr as $value){
echo $value."<br/>";
}

//break;高级使用  终止循环体   
//continue的使用  跳出当前循环  继续执行下一次循环

//冒泡排序
 //count($arr)  //获取数组长度
 $arr=[88,55,66,77,11,99,33,22,44,0];
 $arrLen=count($arr);
 for($j=1;$j<$arrLen;$j++){
 for($i=0;$i<$arrLen-$j;$i++){
     //如果$arr[$i]>$arr[$i+1] 进行冒泡排序
     if($arr[$i]>$arr[$i+1]){
       //把比较后大的值赋值给变量  暂存起来
         $tmp=$arr[$i]; 
       //比较后小的值赋值给$arr[$i]
         $arr[$i]=$arr[$i+1]; 
     //把比较后大的值给$arr[$i+1]  这样交换位置进行下一次比较     
                $arr[$i+1]=$tmp;
     }
 }
}
 echo "<pre>";
 print_r($arr);

/**
 * 函数的类型
 * 无参无返
 * 无参有返
 * 有参无返
 * 有参有返
*/
function qwe(){
echo "无参无返";
}
qwe();

//无参有返
function asd(){
return "林夕";
}

$res=asd();
echo $res;


$str="林夕";
function linxi($str){
echo $str."有参无返";
}
linxi();


//有参有返
$a=3;
$b=6;
function sum($a,$b){
  return $a+$b;
}
 $num=sum();
echo $num;

 /**
 * 变量的作用域
 * 全局变量 定义在函数之外的变量 作用于全局
 * 局部变量 定义在函数内部的变量 作用函数内部
 * 静态变量 函数内部定义的变量实现函数数据的共享
 *  函数内引用全局变量  需要用关键字   global 才能使用  global $变量
 */

 $res="navl";
function strings(){
     global $res;
     $res="1445";
     return $res;
 }
  echo strings();
//可变函数  把一个函数的名称作为一个值赋给一个变量  实现回调函数
$a=5;
$b=4;
function add($a,$b){
return $a+$b;
}
$strAdd="add";
$strAdd();

//匿名函数 语法的测试
$var =  function  () {
    echo "hello world2";
};

$var();

//回调函数 把函数的函数名称作为参数传递给另一个函数

$arr=[11,22,33,44,55]

function addT($num){
 return $num+22;
}
 //array_map()为数组的每个元素应用回调函数 这个函数为php内置函数
 $newArr = array_map("add", $arr); 
 echo "<pre>";
 var_dump($newArr);

//我们自己写个函数代替array_map();

function addA($clerback,$arr){
    $newArr=[];
    foreach($arr as $value){
        $newArr[]=$clerback($value);
    }
    return $newArr;
}
 $res=addA("addT",$arr);
echo "<pre>";
var_dump($res);

//递归 在函数内部调用自身
//递归必须要有出口

function foo ($num) {
    echo "hello world"."<br/>";
    if ($num == 0 ) {
        return;
    }
    --$num;
    foo($num);
}
$num = 2;
foo($num);

//导入文件函数 include() require
//include  如果包含文件失败 会报错  但会执行后续代码
//require 如果包含文件失败 会报错  不会执行后续代码
//include_once 包含一次
//require_once 包含一次
?>            

 

posted @ 2018-12-20 10:49  林夕华  阅读(368)  评论(0编辑  收藏  举报