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文件里的 ...
随机推荐
- 将金额数字转换为大写汉字的js函数
//将金额数字转换为大写汉字的函数 function convertCurrency(money) { //汉字的数字 var cnNums = new Array('零', '壹', '贰', '叁 ...
- java.util.regex.Pattern正则表达式写验证器示例
import java.util.regex.Pattern; /** * 校验器:利用正则表达式校验邮箱.手机号等 * */ public class Validator { /** * 正则表达式 ...
- python之迭代器
原文 我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的gen ...
- java常用API之System类
System中代表程序所在系统,提供了对应的一些系统属性信息,和系统操作.System类不能手动创建对象,因为构造方法被private修饰,阻止外界创建对象.System类中的都是static方法,类 ...
- easyui datebox 精确到秒并且显示值
其实这个官网文档有的,也就不啰嗦了,直接贴官网的代码吧. <input id="dt" type="text" name="birthday&q ...
- 原生js简单实现拖拽效果
实现弹窗拖拽效果的原理是:按下鼠标并移动——拖拽移动物体,抬起鼠标——停止移动.主要触发三个事件:onmousedown.onmousemove以及onmouseup: 首先搭建结构:一个宽350px ...
- android startActivityForResult()
举例说我想要做的一个事情是,在一个主界面(主Activity)上能连接往许多不同子功能模块(子Activity上去),当子模块的事情做完之后就回到主界面,或许还同时返回一些子模块完成的数据交给主Act ...
- 安装lombok(eclipse)
下载 lombok.jar (https://projectlombok.org/download.html) 将 lombok.jar 放在eclipse安装目录下,和 eclipse.ini 文件 ...
- ArcGIS Enterprise 10.5.1 静默安装部署记录(Centos 7.2 minimal)- 1、安装前准备
安装前准备 上传文件到服务器,x-ftp xshell登陆Centos 检查机器名 修改机器名为:portal.cloud.local 方法一:零时设置,重启后失效,该方法不可取 方法 ...
- ZT c++ 中的重载全局new,delete
c++ 中的重载全局new,delete 分类: c++ 2010-08-06 10:31 116人阅读 评论(1) 收藏 举报 deletec++file编译器语言工作 最近做一个小项目,对c++又 ...