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文件里的 ...
随机推荐
- 查看和设置Oracle数据库字符集
数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集. 客户端字符集环境select * from nls_inst ...
- 关于C#的Lock锁思考
大家都知道多线程并发时候存在一个线程同步的问题,一般使用lock关键字来处理. lock关键字的结果如下: object locker=new object(); lock(locker) { ... ...
- pythion的定义函数和传递实参
1.定义函数 例子: def greet_user(): """显示简单的问候语""" print("Hello!")g ...
- Python 动态加载 Extension Manager Classes
看着看着发现了一个库:stevedore(http://stevedore.readthedocs.org/en/latest/managers.html),但是感觉文档做得不行啊,都没个tutori ...
- 微服务学习笔记一:Spring Cloud简介
1.Spring Cloud是一个工具集:Spring Cloud是在Spring Boot的基础上构建的,用于简化分布式系统构建的工具集:使架构师在创建和发布微服务时极为便捷和有效. Sp ...
- Python中and和or的运算法则
1. 在纯and语句中,如果每一个表达式都不是假的话,那么返回最后一个,因为需要一直匹配直到最后一个.如果有一个是假,那么返回假2. 在纯or语句中,只要有一个表达式不是假的话,那么就返回这个表达式的 ...
- GitHub网页端和客户端操作
参见GitHub上的repository中的moreLove.tata.tata2 moreLove 在网页版GitHub上创建的空项目然后填充的tata 在windows客户端创建的空项目然后填充的 ...
- Highcharts - Pie Chart
1. 饼状图(Pie Chart)示例: <div id="container" style="height: 400px"></div> ...
- 【Linux】Linux 在线安装yum
Linux如何安装软件? 一.RPM安装 优点: 安装过程很简单 缺点: 需要自己寻找和系统版本对应的RPM包 安装过程中需要解决包的依赖问题(例如tftp包) 二.yum在线安装 软件包仓库 仓库的 ...
- log4j 配置详解
参考如下两个网址,讲的很详细,先看第一个再看第二个: log4j使用介绍:http://swiftlet.net/archives/683 java日志处理组件log4j--log4j.xml配置详解 ...