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. 用java的io流,将一个文本框的内容反转

    import java.io.*; import java.util.ArrayList; public class test04 { public static void main(String a ...

  2. LeetCode - Rectangle Overlap

    A rectangle is represented as a list [x1, y1, x2, y2], where (x1, y1) are the coordinates of its bot ...

  3. 【liunx】date命令总结

    命令简介: date 根据给定格式显示日期或设置系统日期时间.print or set the system date and time 指令所在路径:/bin/date 命令语法: date [OP ...

  4. 用flask和长轮询实现对帅哥投票和实时查看票数

    flask中的代码 from flask import Flask,request,render_template,redirect,session,jsonify import uuid impor ...

  5. auto_ptr & share_ptr & unique_ptr

    Using auto_ptr, you don’t need think about the memory deallocation, but there are also many argument ...

  6. oracle-sql内置函数

    函数  oracle 自定义函数入门 主题:ORACLE函数大全 ############################### set operators UNION, UNION ALL, INT ...

  7. 将数组A中的内容和数组B中的内容进行交换。(数组一样大)

    将两个数组中的内容相互交换,必须是两个数组的内容一样大小. 思路: 结合两个整型变量之间的交换,同样可以用于内容一样大的数组.用异或关系相互交换. #include<stdio.h> in ...

  8. C#中Socket关闭 Close、Dispose、Shutdown、Disconnect

    An answer on StackOverflow made me think I have finally reached some glimpse of an understanding. Th ...

  9. 如何利用 Chrome 来模拟移动网络来调试 FastAdmin 网站

    如何利用 Chrome 来模拟移动网络来高度 FastAdmin 网站 因为目前大多数都在开发移动类的网页,所以客户端的速度下载速度要也考虑. 虽然都已经 4G 了,但还是要看看在网络质量很差的情况 ...

  10. FastAdmin 生产环境升级注意

    FastAdmin 生产环境升级注意 列出 FastAdmin 实际生产中升级注意事项. 安全相关,看 FastAdmin 的资讯. 如果使用 Git 更新生产文件,注意更新后的权限. JS 修改后注 ...