当前位置: 首页 > news >正文

0505 php-数组、控制语句、函数

数 组

(定义、使用、赋值、遍历、分类、冒泡排序)

1.数组包括元素、下标、数组长度

2.php中的数组长度用$len = count("$数组名");

3.定义一个数组:$arr = array(“a”=>“aa”,“b”=>“bb”);

4.数组的分类:

  根据键值关系可分为索引数组和关联数组,索引数组可通过for跟foreach遍历,关联数组只可以通过foreach遍历。

  根据数组层次可分为一维数组、二维数组和多维数组。

5.foreach遍历

  foreach($数组名 as $k =>$v){

    执行语句;

  }

6.删除数组中的元素:

  ①unset($arr[数组下标]);  //索引值没有变化

  ②array_splice($arr,1,1);  //索引值也变化了

  ③过滤空数组:$resArr1 = array_filter($arr1);  //索引值没有变化

7.冒泡排序:

  for($i = 0; $i < $len-1; $i++){

    for($k = 0; $k < $len-1-$i; $k++){

      if($cj[$k] < $cj[$k+1]){
                   $temp = $cj[$k];
                   $cj[$k] = $cj[$k+1];
                     $cj[$k+1] = $temp;

       }
            }

  }

控 制 语 句

有哪些?

if、for、switch、while、do while

与循环有关的关键字:break(中止)、continue(跳过)

特别注意:

  die(“输出内容”)含义:终止php脚本的运行(后续代码不再执行),并输出其中的内容

  sleep($n);    sleep(3)

  //3秒含义:让php脚本停止$n秒,然后继续执行。

部分流程控制的替换语法:

  if ( ... ) :
    //语句块
  endif;

 

  while(...):
    //语句块
  endwhile;

函 数

1.函数的定义:

  function  函数名 (形参1,形参2,.... ){
    //函数体(代码块)
  }

2.形参:

1.形参一定是一个变量名!
2.该变量名只能是在该函数中有效的变量名;
3.而且只在该函数调用并执行时有效,函数结束,通常这些变量也就“销毁”。

  实参可以有默认值:
  默认值只能是常量表达式,或常量,有默认值的形参放在最右边。

3.实参:

实参可以是一个“直接数据”(比如5,”abc”),也可以是一个变量中存储的数据。
实参的作用是将其数据“赋值给”形参变量。
实参跟形参之间通常是“一 一对应”的

4.函数的参数传值

实参是直接数据:没有值传递问题,是直接赋值

实参是变量:默认值传递,可加&改为引用传递

*实参的个数,至少应该不少于形参中的非默认值参数的个数。

5.自由参数数量及相关函数

自由参数数量:定义时可以不给定形参,但调用时,却又可以给定任何个数的实参。

func_get_args();    //获得一个函数所接收到的所有实参数据,并结果是一个数组

func_get_arg(n);    //获得一个函数所接收到的第n歌实参数据(n从0开始)

func_num_args();    //获得一个函数所接收到的所有实参数据的个数

6.返回值:return

结束函数。以值传递的方式返回一个数据(直接数据,变量数据,表达式结果数据)。

转载于:https://www.cnblogs.com/flypea93/p/8994301.html

相关文章:

  • 第三期 行为规划——6.输出状态转换方程的量
  • Ping程序
  • 群发功能推广通知短信的一些问题
  • 蓝海存储开关机注意事项总结
  • Fragment向父Activity传值
  • jmeter学习笔记
  • 债券和股票
  • 使用Vagrant 在Virtual Box 上安装Docker--(补充九步构建自己的hello world Docker镜像)
  • Linux下PHP5.2安装curl扩展支持https
  • 分布式架构总汇【转】
  • MFS分布式文件系统部署
  • 阿里云Elasticsearch公测发布
  • Django中Model-Form验证
  • win10 常用设置 桌面出来计算机图标,固定桌面摆好的图标设置方法,电脑设备ID方法...
  • D的去世给我的震撼
  • [deviceone开发]-do_Webview的基本示例
  • 2017 年终总结 —— 在路上
  • Cumulo 的 ClojureScript 模块已经成型
  • PermissionScope Swift4 兼容问题
  • php ci框架整合银盛支付
  • SpringBoot 实战 (三) | 配置文件详解
  • SpriteKit 技巧之添加背景图片
  • text-decoration与color属性
  • 给初学者:JavaScript 中数组操作注意点
  • 基于组件的设计工作流与界面抽象
  • 面试总结JavaScript篇
  • 使用 @font-face
  • 算法-图和图算法
  • 微信小程序开发问题汇总
  • Mac 上flink的安装与启动
  • ​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • ​学习一下,什么是预包装食品?​
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #WEB前端(HTML属性)
  • %check_box% in rails :coditions={:has_many , :through}
  • (1)(1.11) SiK Radio v2(一)
  • (3)选择元素——(17)练习(Exercises)
  • (day6) 319. 灯泡开关
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (笔试题)合法字符串
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (一)基于IDEA的JAVA基础1
  • (转)nsfocus-绿盟科技笔试题目
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .Net Attribute详解(上)-Attribute本质以及一个简单示例
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .net core 6 集成和使用 mongodb
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .sys文件乱码_python vscode输出乱码
  • /deep/和 >>>以及 ::v-deep 三者的区别
  • @RequestBody与@ResponseBody的使用
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [ vulhub漏洞复现篇 ] JBOSS AS 4.x以下反序列化远程代码执行漏洞CVE-2017-7504