1.php流程语句

    1.php代码执行从上到下

    2.条件语句 if else 和 switch

    案例:

      $name=56;

      if($name>56) echo "hello world";

  条件语句的画图解析:

    

  if else 条件语句(主要针对范围)

  switch 条件语句(主要针对具体的值)

  案例:

    $name=1;

    switch($name){

      case 1:

        echo "1";

        break;

      case 2:

        echo "2";

        break;

    }

  4.循环语句:

    for

    案例:

      for($i=0;$i<3;$i++){

        echo $i;

      }

    while

    案例:

      while($i<5){

        echo $i;

        $i++;

      }

    do while

      do{

        echo "$i";

        $i++;

      }

      while($i<5);

    for each 针对关联数组  

    案例:

      $arr=array("name"=>"zhang","age"=>12);

      foreach($arr as $key=>$value){

        echo $key;

      }    

  注意:while和do while的区别:

    while  先判断后执行

    do while 先执行后判断;

  js中的数组,本质是对象;

  php中没有json格式。但是对于前端来说要 json格式

  php提供了一个方法叫 json_encode()  将数据转化为json格式;

  php数组:

    1.普通数组:$arr=[1,2,3,4];

    另一种写法:$arr=array(1,2,3,4);

    2.关联数组:

      $arr=array("name"=>"zhang","age"=>18);

    3.多维数组:

      两种情况:

        1.$arr=[1,2,3,[4,5,6,[12,45]],7,8,9];  普通函数的多维数组;

        2.$arr=array("name"=>array("zhang","li","wang'),"age"=>array(12,24,36));  关联数组的多为数组;

  多维数组的遍历:  (利用递归的特性)

  function fn($arr){
    foreach($arr as $key=>$value){
      if(is_array($value)){
        fn($value);
      }
      else{
        echo $value."<br />";
      }
    }
  }
  fn($arr);

  两个方法:

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

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

  函数:php的自定义函数和内置函数;

    使用关键字function定义函数;

  function fn(){}  fn()

  函数调用的时候,会开辟内存空间,有栈和堆,调用完毕后内存就会被销毁,销毁的顺序,先进后出;

  画图解析函数:

  代码:

    function fn(){

      function ff(){

        echo "hello world";  

      }

      ff();

    }

    fn();

  画图:

    

  称之为:函数作用域;

  四个关键字:global  local  static  parameter

  global全局变量都会存在$GLOBALS的超全局变量里面 ,  $GLOBALS的本质是一个数组;

  函数参数;

    1.参数传值:

      function fn($a){

        echo $a;

      }

      fn(56);

    2.默认参数:

      function fn($a=23){

        echo $a;

      }

      fn();

    3.引用传参:将地址传进去;

    函数内部,如果修改了这个地址里的值,函数外也会跟着改 

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

  如果传的有默认参数和普通参数同时传,主要注意顺序问题。

  在js中函数自身有一个arguments的属性,实参构成的数据集合;

  argument的方法:

    func_num_args()  获取实参的个数;

    func_get_arges()  获取实参构成的集合  因为是数组,输出的时候要用 var_dump();

    func_get_age(index)  必填参数,获取具体的某个参数;

  递归:

    函数内部调用函数本身:

    function test($n){

      echo $n;

      if($n>0){

        test($n-1);

      }

      else{

        echo "==="

      }

      echo $n;

    }

    test(3);    得到的答案:3210===0123;

    画图解析:

    

php的语句的更多相关文章

  1. python第六天 函数 python标准库实例大全

    今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...

  2. whdxlib

    1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...

  3. 【.net 深呼吸】细说CodeDom(2):表达式、语句

    在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...

  4. 将表里的数据批量生成INSERT语句的存储过程 增强版

    将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...

  5. mysql学习之 sql语句的技巧及优化

    一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...

  6. SELECT INTO 和 INSERT INTO SELECT 两种表复制语句

    Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...

  7. MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句

    第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...

  8. Oracle 数据库语句大全

    Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...

  9. MyBatis源码分析(二)语句处理器

    StatementHandler 语句处理器,主要负责语句的创建.参数的设置.语句的执行.不负责结果集的处理. Statement prepare(Connection connection, Int ...

  10. 一条Sql语句分组排序并且限制显示的数据条数

    如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...

随机推荐

  1. C++学习(十)(C语言部分)之 分支语句

    #include<stdio.h> // std 标准  io ---->  input  output  输入 输出  printf scanf getchar ...... #i ...

  2. 实验吧—隐写术——WP之 奇妙的音乐

    点击链接下载压缩包,解压后得到:一个图片,一个压缩包 打开图片: 看到海伦.凯勒我们都知道她是一位盲人,而下面黑色和灰色的点点应该就是盲文了,那么我们百度一下对照表 我们将图片里的盲文对照后得到; k ...

  3. AC自动机自我理解和模板

    给出长度为m的文本 查询 n个单词出现的次数 用kmp 复杂度 n*m*(单词平均长度) 用字典树 复杂度 m*每次字典树遍历的平均深度) AC自动机 复杂度 m (思路可以理解为kmp+字典树 ) ...

  4. MongoDB高可用集群搭建(主从、分片、路由、安全验证)

    目录 一.环境准备 1.部署图 2.模块介绍 3.服务器准备 二.环境变量 1.准备三台集群 2.安装解压 3.配置环境变量 三.集群搭建 1.新建配置目录 2.修改配置文件 3.分发其他节点 4.批 ...

  5. oracle命令导入SQL脚本

    使用@导入 比如说我在oracle家目录下有a.sql文件 命令行sqlplus / as sysdba,进入后 SQL>@/home/oracle/a.sql; 回车搞定

  6. sqler sql 转rest api 源码解析(二) resp 协议

    resp 协议主要是方便使用redis 客户端进行连接,resp 主要是依赖 tidwall/redcon golang redis 协议包 resp 服务说明 server_resp.go 文件,干 ...

  7. encrypt and decrypt data

    https://www.cyberciti.biz/tips/linux-how-to-encrypt-and-decrypt-files-with-a-password.html Encryptin ...

  8. Jmeter分离登录事务的另一种方式

    最近,遇到了一个困扰很多人的问题. 情景如下: 业务流程:登录一个网站,反复进行充值. 通常的做法是使用jmeter对登录和充值的接口进行反复的执行: 但是实现的方法却不能完美的贴合业务流程. 并且, ...

  9. 推荐一个 基于 WebSocket 和 Redis 的 即时通信 开源项目

    项目地址 : https://github.com/2881099/im 大家可以和 SignalR 比较看看 ,  如何  ?        ^^  ^^  ^^ 这是一个 网友 写的 , 他还写了 ...

  10. Jmeter关于断言

    本文摘自:一颗糖果   https://www.cnblogs.com/linglingyuese/p/linglingyuese-five.html 1.断言持续时间(Duration to Ass ...