php的语句
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的语句的更多相关文章
- python第六天 函数 python标准库实例大全
今天学习第一模块的最后一课课程--函数: python的第一个函数: 1 def func1(): 2 print('第一个函数') 3 return 0 4 func1() 1 同时返回多种类型时, ...
- whdxlib
1 数据库系统实现 实 验 指 导 书 齐心 彭彬 计算机工程与软件实验中心 2016 年 3 月2目 录实验一.JDBC 应用程序设计(2 学时) ......................... ...
- 【.net 深呼吸】细说CodeDom(2):表达式、语句
在上一篇文章中,老周厚着脸皮给大伙介绍了代码文档的基本结构,以及一些代码对象与CodeDom类型的对应关系. 在评论中老周看到有朋友提到了 Emit,那老周就顺便提一下.严格上说,Emit并不是针对代 ...
- 将表里的数据批量生成INSERT语句的存储过程 增强版
将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...
- mysql学习之 sql语句的技巧及优化
一.sql中使用正则表达式 select name,email from user where email Regexp "@163[.,]com$"; sql语句中使用Regex ...
- SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少.但我 ...
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- Oracle 数据库语句大全
Oracle数据库语句大全 ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CH ...
- MyBatis源码分析(二)语句处理器
StatementHandler 语句处理器,主要负责语句的创建.参数的设置.语句的执行.不负责结果集的处理. Statement prepare(Connection connection, Int ...
- 一条Sql语句分组排序并且限制显示的数据条数
如果我想得到这样一个结果集:分组排序,并且每组限定记录集的数量,用一条SQL语句能办到吗? 比如说,我想找出学生期末考试中,每科的前3名,并按成绩排序,只用一条SQL语句,该怎么写? 表[TScore ...
随机推荐
- 组合数的求法 (n<=1e8 可以过来看)
C(n,m) =n!/(m!* (n-m)! ); o(n) 求 1-m的逆元 o(n) 求 n的阶乘 代码实现 https://www.cnblogs.com/linyujun/p/5194189 ...
- https://blog.csdn.net/qq_35447305/article/details/78587691
来源:https://blog.csdn.net/qq_35447305/article/details/78587691 需要去查看设置.C:\Users\用户名 目录下找到 .npmrc文件,删除 ...
- Python——scapy模块实现tcp探测目标服务器路由轨迹
scapy模块的安装 484 yum install tcpdump graphviz ImageMagick -y 485 wget http://www.secdev.org/projects ...
- oracle数据库丢失数据文件、控制文件、重做日志文件、初始化文件恢复方法
rman target/ list backup; 查看是否已备份,如果没有,那就不知道了 模拟故障,删除/u01/app/oracle/oradata/ORCL文件夹下的所有文件 sqlplus ...
- Java开发培训基础知识解析之反射机制
Java是老牌编程语言,是当前应用最广泛的编程语言之一.想要学习Java你就一定要掌握Java基础知识,而反射对于初学Java的人来说绝对是非常重要的知识点.什么是反射?如何理解反射机制?如何使用反射 ...
- oracle-rman-1
备份脚本 ############################# [oracle@rac02 backup_scripts]$ cat rman_bus_level_0_bk.sh######## ...
- RSA 加密算法 Java 公钥加密私钥解密 和 私钥加密公钥解密 的特点
package com.smt.cipher.unsymmetry; import org.apache.commons.codec.binary.Base64; import org.apache. ...
- 洛谷 5291 [十二省联考2019]希望(52分)——思路+树形DP
题目:https://www.luogu.org/problemnew/show/P5291 考场上写了 16 分的.不过只得了 4 分. 对于一个救援范围,其中合法的点集也是一个连通块. 2n 枚举 ...
- 不同路径 II
一个机器人位于一个 m x n 网格的左上角 (起始点标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角. 现在考虑网格中有障碍物.那么从左上角到右下角将会有多 ...
- NET设计模式 第三部分 结构型模式(7):适配器模式(Adapter Pattern)
适配器模式(Adapter Pattern) ——.NET设计模式系列之八 Terrylee,2006年2月 概述 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但 ...