PHP跟JS一样是从上往下的执行语句;同样的PHP也有if语句、循环、数组和函数。

一、条件语句   if..else...    swich

 (1)多条if语句

$name=30;
if($name>50){
echo "old";
}else if($name>30){
echo "young";
}else if($name>10){
echo "small";
}else{
echo "hello"
}

(2)swich

$num=3;
swich($num){
case 1: echo "monday";
break;
case 2: echo "thurday";
break;
case 3: echo "wenday";
break;
}

二、循环语句   for、while、do..while..、foreach

(1)for

for($i=0;$i<3;$i++){
echo "1111";
}

(2)while

while($i<5){
echo "1111".$i;
$i++;
}

(3)do..while..

$i=6;
do{
echo $i."1111";
$i++;
}while($i<5)

(4)foreach 针对关联数组 array()

  关联数组的格式:array("name"=>"zhangsan","age"=>14);

  PHP没有json格式的数据,但是我们前端需要json格式的数据,PHP提供了一个 json_encode($arr)的方法可以将PHP的数组转化为json

$arr=array("name"=>"zhangsan","oname"=>"lisi");
foreach($arr as $key=>$value){
echo $value."<br/>";
}

 *  while与do..while..的区别:前者先判断后执行,后者先执行后判断。

三、数组

(1)数组 $arr=["xiaozhang","xiaowang"]; $arr=array("zhang","wang");

(2)关联数组 array("name"=>"zhangsan","age"=>14);

(3)多维数组

* 获取数组长度的方法 count()

*判断一个变量是不是数组 is_array()

四、函数

(1)PHP可自定义函数也可有内置函数,使用关键字function 定义函数。

  函数调用的时候会开辟内存空间,里面分为栈内存和堆内存,调用

完毕之后这个内存就会被销毁,销毁顺序是先进后出;

(2)函数作用域

函数作用域的四个关键字:global、local、static、parameter。

(3)函数传参

//1.参数传值
function fn($s){
echo $s;
}
fn(12); //12
//2.默认参数
function fn($s=23){
echo $s;
}
fn(); //23
//还有一种情况,传的参数会覆盖默认参数,且有默认参数的变量需要放在后面,不然会报错
function fn($a,$s=23){
echo $s;
}
fn(12,23);

(4)function_num_args()获取实参的个数;

  function_get_args()获取实参构成的集合;

  function_get_arg(index)获取具体的某一个实参;

1.function_num_args();
function fn($a,$b){
echo function_num_args();
}
fn(12,13);
1.function_get_args();
function fn($a,$b){
var_dump function_get_args();
}
fn(12,13);
1.function_get_arg(index);
function fn($a,$b){
echo function_get_arg(0);
}
fn(12,13);

(5)递归函数  在函数里面调用自己

function test($n){
echo $n;
if($n>0){test($n-1);}
else{echo "===";}
echo $n;
}
test(3); //3210===0123

(6)引用传参:将变量的地址传进去,函数内部如果修改了这个地址的值,函数外也会跟着改

 

$a=23;
function fn(&$n){
echo $n+2;
$n++;
}
fn($a);
echo $a;

  

PHP整理--PHP语句流程的更多相关文章

  1. VS2012中,C# 配置文件读取 + C#多个工程共享共有变量 + 整理using语句

    (一) C# 配置文件读取 C#工程可以自动生成配置文件,以便整个工程可以使用设置的配置进行后续的处理工作. 1. 首先,右键工程文件-->Properties -->settings-- ...

  2. 个人版整理APP测试流程

    2016.1.5 我的笔记 一 .APP测试基本流程  1.1 测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试 ...

  3. SQL语句流程函数

    本人因为今天用到了流程函数,顿时感觉语法生疏啊,为了防止以后忘记,故写此篇!!! 流程函数是MySQL相对常用的一类函数, 用户可以使用这类函数在一个SQL语句中实现条件选择, 这样能够提高效率. 下 ...

  4. JavaScript语句-流程控制语句

    JavaScript定义了一组语句,语句通常用于执行一定的任务.语句可以很简单,也可以很复杂. 选择结构,可以在程序中创建交叉结构来指定程序流的可能方向.JavaScript中有四种选择结构: 1.单 ...

  5. 0807再整理SQL执行流程

    转自http://www.cnblogs.com/annsshadow/p/5037667.html MySQL架构总览->查询执行流程->SQL解析顺序   前言: 一直是想知道一条SQ ...

  6. mysql group by语句流程是怎么样的

    group by流程是怎么样的 注意点: select id%10 as m, count(*) as c from t1 group by m; group by是用于对数据进行分组,我们排序用到了 ...

  7. mysql order by语句流程是怎么样的

    order by流程是怎么样的 注意点: select id, name,age,city from t1 where city='杭州' order by age limit 1000; order ...

  8. 3、C#基础整理(语句概述)

    语句 语句分为四个大类: * 分支语句:if,if... else,if ...else if... else,switch case * 循环语句:for,while,do while,foreac ...

  9. C#整理 条件语句

    条件语句主要分为if else语句和switch case语句. if else语句主要分为四种格式: 1. if(表达式) {} 2.二选一 if(表达式) {} else {} 3.多选一 if( ...

随机推荐

  1. c# 访问共享文件

    #region 连接共享文件夹 /// <summary> /// 连接共享文件夹 /// </summary> public bool ConnectToSharedFold ...

  2. expected_conditions模块提供了判断页面元素的16种方法

    1.title_is: 判断当前页面的title是否完全等于(==)预期字符串,返回布尔值2.title_contains : 判断当前页面的title是否包含预期字符串,返回布尔值3.presenc ...

  3. java-框架-索引

    spring 整体了解 spring 入门demo Spring整体了解 spring梳理 Spring线程池的5个要素 spring的事务隔离级别以及传播性 事务4个隔离界别及脏读,不可重复读,幻读 ...

  4. leetcode每日刷题计划-简单篇day5

    刷题成习惯以后感觉挺好的 Num 27 移除元素 Remove Element 跟那个排序去掉相同的一样,len标记然后新的不重复的直接放到len class Solution { public: i ...

  5. springboot线程池任务调度类 -- ThreadPoolTaskScheduler介绍

    springboot中有一个bean,ThreadPoolTaskScheduler,可以很方便的对重复执行的任务进行调度管理:相比于通过java自带的周期性任务线程池ScheduleThreadPo ...

  6. apache_php_mysql

    软件下载 目前,Apache和PHP均未出现官方的64位版本. Apache 64位: http://www.blackdot.be/?inc=apache/binaries 这个安装文件我已经上传到 ...

  7. junit,面向切面开发(动态代理),工厂设计模式,数据库连接池

    1.junit junit又叫单元测试,好处是能进行批量测试,而且如果方法出现了问题能立刻定位出出现问题的方法,还有一个好处是感官效果很好,如果方法都通过了则显示绿条,否则显示红条 TestCase. ...

  8. 如果在springboot中设置了 修改了默认页面的指向 使用thymleaf模板 而请求不到静态资源 可能是

    @Configurationpublic class DefaultView extends WebMvcConfigurerationSupport { @Override public void ...

  9. yml使用

    yml: value: 可以用单引号或者双引号引起来,这样就不会出现内容中特殊字符含义. yml中   key:value ,如果value是数字需要和前面的冒号隔一个空格,否则获取不到value

  10. v-for key

    key 当 Vue.js 用 v-for 正在更新已渲染过的元素列表时,它默认用“就地复用”策略.如果数据项的顺序被改变,Vue 将不会移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素 ...