PHP语法笔记二
日期函数
date_default_timezone_set(“PRC”):时区设置为中国区
date(“日期格式”[,时间戳]):设置当前或某个时间戳的日期格式。
参数 format 表示时间格式化的方式,可能的方式如下:
格式化方式 说明
Y 4位数字年,y为2位数字,如99即1999年
m 数字月份,前面有前导0,如01。n 为无前导0数字月份
F 月份,完整的文本格式,例如 January 或者 March
M 三个字母缩写表示的月份,例如 Jan 或者 Mar
d 月份中的第几天,前面有前导0,如03。j 为无前导0的天数
w 星期中的第几天,以数字表示,0表示星期天
z 年份中的第几天,范围0-366
W 年份中的第几周,如第32周
H 24小时格式,有前导0,h为12小时格式
G 24小时格式,无前导0,g为对应12小时格式
i 分钟格式,有前导0
s 秒格式,有前导0
A 大写上下午,如AM,a为小写
提示
如果您输出的时间和实际时间差8个小时(假设您采用的北京时区)的话,请检查 php.ini文件,做如下设置:
date.timezone = PRC
mktime(时,分,秒,月,日,年)从日期取得时间戳,成功返回时间戳,否则返回false.
参数可以从右向左省略,任何省略的参数会被设置成本地日期和时间的当前值。且会自动计算超出范围的输入的正确值。任何给定月份的最后一天都可以表示为下个月的第“0”天,而不是-1天。
strtotime(string time,[,int now])将任何英文文本字符串表示的日期转为时间戳,为date()的反函数
什么是时间戳?从1970-1-1 00:00:00到某个日期的秒数。是一个int类型。在mysql数据表中保存日期的是一个int类型的字段
tme():得到的是当前的时间戳。
srtotime():得到某个日期的时间戳,跟date函数是一个相反的过程。
如:
date_default_timezone_set("PRC");
echo $t=strtotime("2016-10-10");//将日期专场成时间戳
echo date("Y年m月d日",$t);//将时间戳转换成日期格式
SWITCH 语句
switch (表达式或变量)
{
case [具体值或条件]:
当表达式=具体值或条件为true时,所执行的代码;可以多条语句;注意,不需要{ }
break;
case[具体值或条件]:
当表达式=具体值或条件为true时,所执行的代码;可以多条语句;注意,不需要{ }
break;
…
default:
当上面条件都不满足的时候执行。
}
例1:case 具体值情况
$i=1;
switch($i){
case 1:
echo 1;
break;
case 2:
echo 2;
break;
default:
echo 'others';
}
语句执行的过程:
$i=1;则程序执行到case 1,匹配成功,并执行echo 1;break;语句,其中break语句必须要写,执行break语句后,则跳出switch语句
当$i不等于1或者2,则会执行default后面的语句。
《For 循环语句》
for 循环用于您预先知道脚本需要运行的次数的情况。
所谓循环语句:指语句或语句体不断进行重复执行,并当满足某个条件后,退
出执行的语句。
语法
for (初始值; 条件; 增量或减量)
{
要循环执行的代码; //一条或多条语句。即循环体
}
参数:
•初始值:主要是初始化一个变量值,用于设置一个计数器(但可以是任何在循
环的开始被执行一次的代码)。
•条件:循环执行的限制条件。如果为 TRUE,则循环继续。如果为 FALSE,则
循环结束。
•增量或减量:主要用于递增或递减计数器(但可以是任何在循环的结束被执行
的代码)。
重要提示:上面的初始值和增量参数可为空,或者有多个表达式(用逗号分隔)。
例1:递增应用
下面的实例定义一个初始值为 i=1 的循环。只要变量 i 小于或者等于 5,循
环将继续运行。循环每运行一次,变量 i 就会递增 1:
<?php
for ($i=1; $i<=5; $i++)
{
echo "The number is " . $i . "<br>";
}
?>
输出:
The number is 1
The number is 2
The number is 3
The number is 4
The number is 5
执行过程:流程表
循环次数初始值循环条件循环体增量或减量
0 $i=1 1<=5(true)
1 执行:echo "The number is "
. $i . "<br>";
$i++(2)
2<=5(true)
2
执行:echo "The number is " . $i .
"<br>";
$i++(3)
3<=5(true)
3
执行:echo "The number is " . $i .
"<br>";
$i++(4)
4<=5(true)
4
执行:echo "The number is " . $i .
"<br>";
$i++(5)
5<=5(true)
5
执行:echo "The number is " . $i .
"<br>";
$i++(6)
6<=5(false) 退出循环
得出结论:从上面的流程表中可知,递增或递减的目的必须要保证循环条件能
够为false,只有条件为false 后才能正常退出循环;如果不能保证条件为
false,则会陷入死循环,切记避免。
例2:递减的应用
<?php
header("Content-Type:text/html;charset=utf-8");
for ($i=5; $i>=1 ; $i--)
{
echo "The number is " . $i . "<br>";
}
?>
执行结果:
The number is 5
The number is 4
The number is 3
The number is 2
The number is 1
比较递增与递减应用区别?
① 递增为++、递减为--;
② 递增初始值比条件值要大,并使用<或<=;而递减相反。
For 循环中常用的写法
① 初始化值可以放在for 外面
如:$i=1;
For(;$i<=5;$i++)
{
循环体
}
注意:初始化部分的”;”不能省略。
② 所有初始化值都可以放在for 循环初始化部分
如:for ($i=5,$j=5,$k=0; $i>=1 ; $i--)
{
echo "The number is " . $i . "<br>";
}
注意:初始化值之间使用”,”隔开。同样的道理,条件部分如果有多个条件的时
候,也可以放在一起,中间用”,”隔开。
例3:累加的for 循环实现方法
1+2+3+4+…+100=?
分析:(1)初始值?1
(2)终止值?100
(3)个加项之间相差?1,即每次递增1
程序实现如下:
$sum=0;//累加变量初始化值为0
for ($i=1; $i<=100 ; $i++)
{
$sum=$sum+$i;//累加的关键语句
}
echo $sum;
注意:实现累加的时候,必须有一个用来保存累加的变量(如$sum),并一般情况下,初始化
为0(如:$sum=0;),且循环体中有一条如:$sum=$sum+需要累加值;的语句。(如:
$sum=$sum+$i)
例4:累积的实现
10!=10*9*8*7*6*5*4*3*2*1=?
分析:(1)初始值?10;(2)终止值?1;③两两之间相差?递减1
程序实现如下:
$ji=1;//累积的变量初始化为1
for ($i=10; $i>=1 ; $i--)
{
$ji=$ji*$i;
}
echo $ji;
注意:实现累积的时候,必须有一个用来保存累积的变量(如$ji),并一般情况下,初始化为
1(如:$ji=1;),且循环体中有一条如:$ji=$ji+需要乘积值;的语句。(如:$ji=$ji*$i)
例5:累连接的实现
第0 行
第1 行
第2 行
第3 行
第4 行
第5 行
第6 行
第7 行
第8 行
第9 行
第10 行
分析:①初始值?0;②终止值?10;③每次相差1
实现思路:将每行的输出先连接起来后,统一进行输出,可以使用累连接输出。
<?php
header("Content-Type:text/html;charset=utf-8");
$str="";//累连接的变量初始化为””
for ($i=0; $i <=10 ; $i++) {
$str=$str."第{$i}行<br>";
}
echo $str;
?>
注意:实现累连接的时候,必须有一个用来保存累连接的变量(如$str),并一般情况下,初始
化为空(如:$str=” ”;),且循环体中有一条如:$str=$str.需要连接的值;的语句。(如: $str=$str."第
{$i}行<br>";)
累加、累积、累连接比较表
操作方式变量初始化循环体必须包含的语句格式
累加$sum=0; $sum=$sum+累加的变量值;(如:$sum=$sum+$i;)
累积$ji=1; $ji=$ji*累积的变量值;(如:$ji=$ji*$i;)
累连接$str=””l $str=$str.累连接的变量值;(如:$str=$str.$i;)
PHP语法笔记二的更多相关文章
- Neo4j的查询语法笔记(二)
cypher是neo4j官网提供的声明式查询语言,非常强大,用它可以完成任意的图谱里面的查询过滤,我们知识图谱的一期项目 基本开发完毕,后面会陆续总结学习一下neo4j相关的知识.今天接着上篇文章来看 ...
- C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com
原文:C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | IT宅.com C语言语法笔记 – 高级用法 指针数组 指针的指针 二维数组指针 结构体指针 链表 | I ...
- Redis学习笔记二 (BitMap算法分析与BitCount语法)
Redis学习笔记二 一.BitMap是什么 就是通过一个bit位来表示某个元素对应的值或者状态,其中的key就是对应元素本身.我们知道8个bit可以组成一个Byte,所以bitmap本身会极大的节省 ...
- 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...
- SQL基础语法笔记教程整理
PS:本文适用SQL Server2008语法. 一.关系型数据库和SQL 实际上准确的讲,SQL是一门语言,而不是一个数据库. 什么是SQL呢?简而言之,SQL就是维护和使用关系型数据库中的的数据的 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
- java之jvm学习笔记二(类装载器的体系结构)
java的class只在需要的时候才内转载入内存,并由java虚拟机的执行引擎来执行,而执行引擎从总的来说主要的执行方式分为四种, 第一种,一次性解释代码,也就是当字节码转载到内存后,每次需要都会重新 ...
- 《SQL必知必会》学习笔记二)
<SQL必知必会>学习笔记(二) 咱们接着上一篇的内容继续.这一篇主要回顾子查询,联合查询,复制表这三类内容. 上一部分基本上都是简单的Select查询,即从单个数据库表中检索数据的单条语 ...
随机推荐
- Elasticsearch之停用词
前提 什么是倒排索引? Elasticsearch之分词器的作用 Elasticsearch之分词器的工作流程 Elasticsearch的停用词 1.有些词在文本中出现的频率非常高,但是对文本所携带 ...
- 2017 beijing icpc A - Euler theorem
2017-09-22 21:59:43 writer:pprp HazelFan is given two positive integers a,ba,b, and he wants to calc ...
- javaScript tips —— z-index 对事件机制的影响
demo // DOM结构 class App extends React.Component { componentDidMount() { const div1 = document.getEle ...
- GTID主从 与 传统主从复制
一.主从复制 1.)普通主从复制: 普通主从复制主要是基于二进制日志文件位置的复制,因此主必须启动二进制日志记录并建立唯一的服务器ID,复制组中的每个服务器都必须配置唯一的服务器ID.如果您省略ser ...
- C++(三十三) — 全局函数、成员函数的区别
区别: (1)全局函数的参数个数,比局部函数要多一个: (2)二者都可,返回元素.返回引用. class test { public: test(int a, int b) { this->a ...
- ResultSet 结果集
转自:http://blog.csdn.net/z93971401/article/details/7469503 这篇文章并没有给出如何使用ResultSet的具体例子,只是从ResultSet的功 ...
- mysql快问快答
1.查看mysql版本 select version(); show variables like 'version'; 2.mysql 可以按timestamp排序吗? 可以 3.怎么查询商户下是否 ...
- 外层页面与iframe相互调用的方法
iframe调用外层页面的方法: parent.func(); 外层页面调用里面的iframe中的内容方法: $("iframe").contents().find(" ...
- Quartz 框架 教程(中文版)2.2.x
Quartz 框架 教程(中文版)2.2.x 之第一课 开始使用Quartz框架 Quartz 框架 教程(中文版)2.2.x 之第二课 Quartz API,Jobs和Triggers简介 Quar ...
- Quartz教程二:API,Job和Trigger
原文链接 | 译文链接 | 翻译:nkcoder | 校对:方腾飞 本系列教程由quartz-2.2.x官方文档翻译.整理而来,希望给同样对quartz感兴趣的朋友一些参考和帮助,有任何不当或错误之处 ...