3.php基础(控制语句,函数,数组遍历)
if条件判断语句
结构一:只判断true,不管false
结构二:既判断true,也判断false(二选一)
结构三:多条件判断
switch多分支结构
Switch语法结构说明:
l Switch的原理:根据一个变量的不同取值,与每一个case中的值相比,如果一样,则条件满足,执行该代码。
l Case的值,只能是常数,是一个字符串,或者一个整数。
l Break终止switch运行,并跳转到结束大括号之后。
l 如果省略break语句,会继续向下一个case运行。
l Default语句,是默认执行的语句。如果以上条件都不满足,最后执行的代码。
if多条件和switch区别
l If适合多种条件,或者更复杂的条件。而switch的变量,只有几个固定的取值。
l If的运行效率要低一些。而switch效率高一点。
while循环结构
循环的三要素:
l 变量初始化。在循环开始前,变量初始化,只执行一次,循环一旦开始,变量初始化不再执行。
l 条件判断。条件为true,就开始循环(执行循环体代码);条件为false,则退出循环。
l 变量更新。如果没有变量更新,则会出现“死循环”。变量更新,应该越来越接近while的判断条件。
for循环
break语句
含义:中断。换句话说:break可以用于中断各种循环,以及switch语句。
一般情况下,需要在break语句之前,加一个条件判断。
l 语法:break [n]
l 参数:n为可选参数。n表示跳出第几层循环。默认值为1。
l 举例:
u break; //跳出当前循环
u break 1; //跳出当前循环
u break 2; //跳出两层循环
u break 3; //跳出三层循环
continue继续
l 含义:中断本次循环(后面的代码不再执行),而开始下一次新的循环。
l 语法:continue [n]
l 举例:
u continue; //中止本次循环
u continue 2; //跳出两层循环
拷贝传值和引用传值
1、拷贝传值
将一个变量的值,“复制”一份,传给另一个变量。
这两个变量,一点关系都没有,是相互独立的两个变量。
修改其中一个变量的值,另一个变量不会改变。
在PHP中,哪些数据类型默认的是“拷贝传值”?
字符型、整型、浮点型、NULL、数组。
2、引用传地址
将一个变量的数据地址,“复制”一份,传给另一个变量。
这两个变量,指向的是“同一物”。
如果这个“物体”发生了改变,那么,对于两个变量来说,都改变了。
修改其中一个变量的值,则另一个变量也跟着变。
在PHP中,默认的“引用传地址”的类型有:对象和资源。
但是,也可以手动声明“引用传地址”,只需要在引用的变量前,加一个“&”符号即可。
这样一来,所有的数据类型都可以实现引用传地址。
PHP数组
1、数组的概念
数组是一组数的集合。
$arr = array(10,20,30,40);
数组是通过索引(下标)查找元素。
2、数组的分类
(1)枚举数组
数组的下标是从0开始的正整数,这样数组称为“枚举数组”。
$arr = array(10,20,30,40);
$arr[0] = 10;
$arr[1] = 20;
(2)关联数组
数组的下标是字符串,这样的数组称为“关联数组”。
(3)混合数组
所谓“混合数组”就是数组的下标既整型,也有字符串。
3、数组的创建
(1)使用array()函数来创建数组
(2)使用[]来创建数组
多维数组
数组的元素,还是一个数组。数组套数组。
数组相关函数
1、print_r()
l 描述:打印关于变量的易于理解的信息
l 语法:bool print_r ( mixed $expression )
l 说明:如果给出的是 string、integer或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object与数组类似。
2、unset()
l 描述:释放给定的变量。
l 语法:void unset ( mixed $var [, mixed $... ] )
l 说明:JS中使用delete运算符,删除变量及数组元素。
3、count()
l 描述:计算数组中的单元数目或对象中的属性个数
l 语法:int count ( mixed $var )
l 说明:只统计有效数据的个数。
foreach()只能用于遍历数组
函数参数
1、值传递参数
2、引用传递参数
2、time()
描述:返回1970年1月1日0时0分0秒,到现在的秒数。
变量作用域
在JS中,全局变量,可以直接在函数内部使用。
在PHP中,全局变量,不能直接在函数内部使用。
全局变量:在函数外部定义的变量。网页执行完毕消失。
局部变量:在函数内部定义的变量。函数执行完毕消失。
global声明全局变量
使用global关键字,可以将一个变量,声明为“全局变量”。这里的“全局变量”不是JS中认为的全局变量。
global关键字使用注意
l global关键字,只能在函数内部来使用。
l global关键字,不能一边声明全局变量,一边赋值。
l global的真正含义,是“引用传地址”,与JS中的全局变量。
3.php基础(控制语句,函数,数组遍历)的更多相关文章
- php基础语法(控制语句、数组、函数)
流程控制 if -else if -else语句: switch语句: while循环: do while循环 for循环: 控制脚本执行进度 die(“输出内容”) exit是die的同义词. sl ...
- JS基础-语法+流程控制语句+函数+内置对象【数组】
JS语法: Javascript基本数据类型:undefined/null/Boolean/number/string 复杂数据类型:object typeof用来检测变量的数据类型 typeof的使 ...
- java基础(环境设置,基础语法,函数数组)
框架图 环境搭建 课程中常见dos命令: dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 cd : 进入指定目录 cd.. : 退回到上一级目录 cd/ : 退回到 ...
- JavaSE语法基础(3)---函数、数组
JavaSE语法基础(3)---函数.数组 函数的概念:实现特定功能的一段代码,可反复使用. 函数的出现减少代码冗余,提高代码的复用性,可读性,可维护性,可以使每个功能模块独立起来,方便分工合作. 函 ...
- 5_PHP数组_3_数组处理函数及其应用_5_数组遍历语言结构
以下为学习孔祥盛主编的<PHP编程基础与实例教程>(第二版)所做的笔记. 数组遍历语言结构 1. foreach ( array as $value ) 程序: <?php $int ...
- JavaScript基础之函数与数组
函数 函数的基本概念 为完成某一功能的程序指令(语句)的集合,称为函数.有的程序员把函数称为方法,希望大家不要被这两个名词搞晕了. 函数分为:自定义函数.系统函数(经常查看js帮助手册). j ...
- -1-1 java 基础语法 java关键字 java 注释 常量 语句 运算符 函数 数组定义
Java语言基础组成 关键字 标识符 注释 常量和变量 运算符 语句 函数 数组 关键字 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字 class ...
- javascript(基础)_对数组的遍历方法总结(find, findIndex, forEach,)
一.前言 ...
- php基础 数组 遍历
//参数默认值// function abc($a,$b,$c=0){// echo $a,$b,$c;// }// abc(1,3); //可变参数//function def(){// $arr= ...
- 转→js数组遍历 千万不要使用for...in...
看到一篇内容还不错,但是排版实在糟糕, 逼死强迫症患者啊,直接拉下去找原文连接,找到了,但是已经消失了···500错误... 第一次因为实在看不下去一篇博客的排版, 为了排版而转载... 转载地址:h ...
随机推荐
- springcloud-eureka客户端服务注册(含demo源码)
1. 场景描述 前几天介绍了下springcloud的Eureka注册中心(springcloud-注册中心快速构建),今天结合springboot-web介绍下eureka客户端服务注册. 2. 解 ...
- python无网安装psycopg2
1. 问题描述 python项目要获取greenplum数据库数据,gp底层是postgresql,需要使用python的第三方工具包psycopg2操作数据库,但是问题是服务器上没有网络,无法在 ...
- Perm排列计数(新博客试水,写的不好,各路大神见谅)
B. Perm 排列计数 内存限制:512 MiB 时间限制:1000 ms 标准输入输出 题目描述 称一个1,2,...,N的排列P1,P2...,Pn是Magic的,当且仅当2<=i&l ...
- MyBatis bind标签的用法
From<MyBatis从入门到精通> <!-- 4.5 bind用法 bind标签可以使用OGNL表达式创建一个变量并将其绑定到上下文中. 需求: concat函数连接字符串,在M ...
- 获取文件版本(IE)
GetFileInfoCUIAction::GetFileVersion2GetSystemDirectory WCHAR szConfigFile[MAX_PATH + 1]; ::G ...
- C#3.0新增功能10 表达式树 05 解释表达式
连载目录 [已更新最新开发文章,点击查看详细] 表达式树中的每个节点将是派生自 Expression 的类的对象. 该设计使得访问表达式树中的所有节点成为相对直接的递归操作. 常规策略是从根节点 ...
- k8s1.9.0安装--完整集群部署
三.完整集群部署 - kubernetes-with-ca 1. 理解认证授权 1.1 为什么要认证 想理解认证,我们得从认证解决什么问题.防止什么问题的发生入手.防止什么问题呢?是防止有人入侵你的集 ...
- ThreadPoolExecutor带来的性能问题
使用线程池,一般情况下会带来性能提升,并且使用线程池管理线程,减少了每个任务调用的开销,通常可以在执行大量异步任务时提供增强的性能. 但是在高并发的情况下,会因为使用不当导致性能下降,并且下降得比较严 ...
- Office2010安装问题锦集
问题一,每次打开office 2010,都会出现重新配置的对话框. 解决姿势: 大部分搜索到的解决方法大概有2种, 一个是修改注册表,在注册表中这个这个位置增加一个名为NoRereg的32位World ...
- Vue中beforeRouterEnter的应用
一般判断从哪个页面进入时需要判断路由,用到了beforeRouteEnter方法. 注意:在在内部获取不到外部的this,方法.变量等都获取不到.但是vm.XXXXX可以获取到 beforeRoute ...