zoukankan      html  css  js  c++  java
  • 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;)


  • 相关阅读:
    HDU 2544 最短路
    HDU 3367 Pseudoforest
    USACO 2001 OPEN
    HDU 3371 Connect the Cities
    HDU 1301 Jungle Roads
    HDU 1879 继续畅通工程
    HDU 1233 还是畅通工程
    HDU 1162 Eddy's picture
    HDU 5745 La Vie en rose
    HDU 5744 Keep On Movin
  • 原文地址:https://www.cnblogs.com/tcheng/p/5952152.html
Copyright © 2011-2022 走看看