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 包含一次
?>
php第四节(循环和函数)的更多相关文章
- C语言系列之预处理指令、循环左移函数的使用(四)
本章节将讲两个知识点 第一个知识点:常用的预处理指令 第二个知识点:循环左移右移函数 第一个知识点:预处理指令 一种预处理指令是#define,他把名字A定义为P0,当这个名字出现在源文件的任何地方时 ...
- 第十四章——循环神经网络(Recurrent Neural Networks)(第二部分)
本章共两部分,这是第二部分: 第十四章--循环神经网络(Recurrent Neural Networks)(第一部分) 第十四章--循环神经网络(Recurrent Neural Networks) ...
- 第三百八十四节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置以及会员注册
第三百八十四节,Django+Xadmin打造上线标准的在线教育平台—路由映射与静态文件配置以及会员注册 基于类的路由映射 from django.conf.urls import url, incl ...
- VUE2.0实现购物车和地址选配功能学习第四节
第四节 v-on实现金额动态计算 用¥金额 进行格式处理,可以使用原生js进行转换,但是在vuei,使用filter过滤器更加方便 注: 1.es6语法=>和import等 好处在于res参数后 ...
- delphi 线程教学第四节:多线程类的改进
第四节:多线程类的改进 1.需要改进的地方 a) 让线程类结束时不自动释放,以便符合 delphi 的用法.即 FreeOnTerminate:=false; b) 改造 Create 的参数 ...
- JAVA之旅(十四)——静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制
JAVA之旅(十四)--静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制 JAVA之旅,一路有你,加油! 一.静态同步函数的锁是clas ...
- 第十四章——循环神经网络(Recurrent Neural Networks)(第一部分)
由于本章过长,分为两个部分,这是第一部分. 这几年提到RNN,一般指Recurrent Neural Networks,至于翻译成循环神经网络还是递归神经网络都可以.wiki上面把Recurrent ...
- 大白话5分钟带你走进人工智能-第十四节过拟合解决手段L1和L2正则
第十四节过拟合解决手段L1和L2正则 第十三节中, ...
- 大白话5分钟带你走进人工智能-第四节最大似然推导mse损失函数(深度解析最小二乘来源)(2)
第四节 最大似然推导mse损失函数(深度解析最小二乘来源)(2) 上一节我们说了极大似然的思想以及似然函数的意义,了解了要使模型最好的参数值就要使似然函数最大,同时损失函数(最小二乘)最小,留下了一 ...
- 第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明
第三百九十四节,Django+Xadmin打造上线标准的在线教育平台—Xadmin后台进阶开发配置2,以及目录结构说明 设置后台列表页面可以直接修改字段内容 在当前APP里的adminx.py文件里的 ...
随机推荐
- artDialog组件应用学习(四)
一.在对话框自定义操作按钮 预览: html调用代码: var btnArray = [ { value: '同意', callback: function () { this.content('你同 ...
- 04.Dictionary字典键值对集合
Dictionary字典键值对集合和Hashtable键值对集合的功能非常类似, 只是在声明的时候,必须为其制定值的类型. 示例代码: namespace _11.Dictionary字典集合的学习 ...
- C# 判断List集合中是否有重复的项
/*在.Net 3.5 以上*/ ).Count() >= ;
- mysql的引擎和锁
- Zepto和Jquery区别
---恢复内容开始--- <zepto移动端事件> 1.$("#xx").tap(function(){ //tap在屏幕点击时触发 alert("sssss ...
- MongoDB学习之mongoose
MongoDB介绍: MongoDB是基于Javascript语言的数据库,存储格式是JSON,而Node也是基于JavaScript的环境(库),所以node和mongoDB的搭配能减少因为数据转换 ...
- eclipse spring boot项目部署
选中项目------>右键----->Run As------>Manven bulid-->填写Name:XXX; Goals:clean package -Dmaven.t ...
- RecycleView + SwipeRefreshLayout 实现下拉刷新和底部自动加载
前段时间项目里面使用了RecycleView 但是里面的刷新和加载都是框架里面封装好的,直接使用 这几天比较闲就自己来实现以下. 因为SwipeRefreshLayout是一个下拉刷新控件所有直接和R ...
- Wi-Fi
AP就是一个无线的交换机,提供无线信号发射接收的功能 Wi-Fi是一种可以将个人电脑.手持设备(如PDA.手机)等终端以无线方式互相连接的技术 两个不一样的东西,无法比较的 你说的应该是无线路由器和无 ...
- MySQL学习(二)数据类型
截取书中内容留作学习.... 1.整数类型 2.浮点数与定点数类型 3.日期时间类型 向数据库中插入当前系统时间:CURRENT_TIME或者NOW() 4.文本字符串类型 MySQL枚举类型:cre ...