• 速战速决 (1)


    [源码下载]


    速战速决 (1) - PHP: 概述, 常量, 变量, 运算符, 表达式, 控制语句



    作者:webabcd


    介绍
    速战速决 之 PHP

    • 概述
    • 常量
    • 变量
    • 运算符
    • 表达式
    • 控制语句



    示例
    1、概述
    basic/summary.php

    <!--
        PHP 概述
    -->
    
    <?php
    echo "我在 php 开始标记和结束标记之间";
    echo "<br />";
    ?>
    
    <?php if (time() % 2 == 0): ?>
        我是 html(用于演示 php 和 html 混编)
        <br />
    <?php else: ?>
        这里是 html(用于演示 php 和 html 混编)
        <br />
    <?php endif; ?>
    
    
    <?php
    echo "可以没有 php 结束标记";
    echo "<br />";


    2、常量
    basic/constant.php

    <?php
    /**
     * 常量
     */
    
    // 用 define 来定义常量
    define("MyConst1", "MyConst1");
    echo MyConst1;
    echo "<br />";
    
    // 在 PHP 5.3.0 之后支持用 const 来定义常量
    const MyConst2 = "MyConst2";
    echo MyConst2;
    echo "<br />";
    
    
    
    /**
     * 魔术常量(magic constant)
     *
     * 魔术常量,在不同的场景下会有不同的值
     */
    
    // __LINE__ - 文件中的当前行号, 由其在脚本中所处的行来决定
    echo __LINE__;
    echo "<br />";
    
    // __FILE__ - 当前文件的完整路径和文件名,如果用在被包含文件中,则返回被包含的文件名
    echo __FILE__;
    echo "<br />";
    
    // __DIR__ - 文件所在的目录,如果用在被包括文件中,则返回被包括的文件所在的目录
    echo __DIR__;
    echo "<br />";
    
    // __FUNCTION__ - 函数名称
    // __CLASS__ - 类名称
    // __METHOD__ - 方法名称
    // __NAMESPACE__ - 命名空间名称
    // __TRAIT__ - Trait 名称


    3、变量
    basic/variable.php

    <?php
    /**
     * 变量
     */
    
    // 通过 $ 定义变量
    $a = "a";
    
    // 通过 $ 使用变量
    echo $a;  // output: a
    echo "<br />";
    
    // 通过 $ 使用变量,即使外面加了双引号也同样会使用变量
    echo "$a"; // output: a
    echo "<br />";
    
    // 通过 {} 界定变量名称,比如"$ab",php会使用变量$ab,而实际上我们想要使用的是$a,此时就可以通过 {} 来界定变量名称,如下:
    echo "{$a}b"; // output: ab
    echo "<br />";
    
    // 外面加双引号,但是不想使用变量的话,可以通过转移符“”来将“$”变成字符串
    echo "$a"; // output: $a
    echo "<br />";
    
    // 外面加单引号的话就按字符串处理了
    echo '$a'; // output: $a
    echo "<br />";
    
    
    
    // 变量之间赋值
    $b = $a;
    // 通过 & 定义引用。下面的例子是让 $c 引用 $a
    $c = &$a;
    // 为 $a 重新赋值
    $a = "aa";
    echo "$b"; // output: a
    echo "<br />";
    echo "$c"; // output: aa
    echo "<br />";
    
    
    
    function f1()
    {
        // 这里的 $a 引用的是局部变量 $a,然而之前在 f1 这个局部范围内并没有定义 $a,所以你要使用 $a 的话它是不会有任何内容的
        echo $a; // output:
        echo "<br />";
    }
    f1();
    
    function f2()
    {
        // 通过 global 关键字标记 $a,则在此局部范围之后,再使用 $a 时将会使用全局版本的 $a
        global $a;
        echo $a; // output: aa
        echo "<br />";
    }
    f2();
    
    function f3()
    {
        // 通过 $GLOBALS 直接使用指定变量的全局版本
        echo $GLOBALS['a']; // output: aa
        echo "<br />";
    }
    f3();
    
    function f4()
    {
        // 通过 static 来定义静态变量,其常驻内存
        static $i = 0;
        echo $i;
        echo "<br />";
    
        $i++;
    }
    f4(); // output: 0
    f4(); // output: 1
    f4(); // output: 2
    
    
    $x = "aaa";
    // variable variables(可变变量),将变量的值作为变量名
    // 下面这句等同于 $aaa = "bbb";(因为 $x 的值是 aaa,所以 $$x 等同于 $aaa)
    $$x = "bbb";
    echo $aaa; // output: bbb
    echo "<br />";
    echo $$x; // output: bbb
    echo "<br />";
    
    
    
    $s = "12345";
    // 大括号的作用: 用于指示字符串变量中的单个字符(下标从 0 开始)
    $s{1} = 'x';
    echo $s; // output: 1x345
    echo "<br />";
    // 大括号的作用: 用于界定变量的名称(比如下面使用的变量是 $s,而不是 $ss)
    echo "{$s}s"; // output: 1x345s
    echo "<br />";


    4、运算符, 表达式, 控制语句
    basic/statement.php

    <?php
    /**
     * 运算符,表达式,控制语句
     */
    
    // 运算符,表达式,控制语句和其他的语言都差不多
    // 以下写一些个人认为需要强调的东西
    
    // . 字符串运算符
    $s1 = "hello ";
    $s2 = "webabcd";
    $s3 = $s1 . $s2;
    echo $s3; // output: hello webabcd
    echo "<br />";
    
    $s1 .= "wanglei"; // output: hello wanglei
    echo $s1;
    echo "<br />";
    
    
    // == 和 === 的区别
    $a1 = "1"; // 字符串
    $b1 = 1; // 整型
    $c1 = "1"; // 字符串
    if ($a1 == $b1) // 两个不同类型的数据做 == 比较,系统会自动转换
    {
        echo '$a1 == $b1'; // output: $a1 == $b1
        echo "<br />";
    }
    if ($a1 === $b1) // 两个不同类型的数据做 === 比较,系统不会自动转换
    {
        // 不成立
    }
    if ($a1 === $c1)
    {
        echo '$a1 === $c1'; // output: $a1 === $c1
        echo "<br />";
    }
    
    
    // 对于 {} 方式的或者省略了 {} 方式的 if/else 语句来说,elseif 和 else if 是一样的
    if (1 == 2)
        echo "1 == 2";
    else if (1 == 1)
        echo "1 == 1";
    elseif (2 == 2)
        echo "2 == 2";
    else
        echo "else";
    echo "<br />";
    
    // 对于 : 方式的 if/else 语句来说,只能用 elseif 而不用能 else if
    if (1 == 2):
        echo "1 == 2";
    // else if (1 == 1):
      //  echo "1 == 1";
    elseif (2 == 2):
        echo "2 == 2";
    else:
        echo "else";
    endif;
    echo "<br />";
    
    
    // foreach 语句的用法
    $array1 = array(1, 2, 3, 4);
    foreach ($array1 as $value)
    {
        echo $value;
        echo "<br />";
    }
    foreach ($array1 as $key => $value)
    {
        echo $key . " - " . $value;
        echo "<br />";
    }
    
    
    // try catch finally 的用法
    try
    {
        echo "try";
        echo "<br />";
    
        throw new Exception("error message", 999); // 要想写自定义的 Exception 的话,就继承 Exception 就好
    }
    catch (Exception $ex)
    {
        echo "catch";
        echo "<br />";
    
        echo sprintf("message: %s, code: %d, file: %s, line: %d, trace: %s", $ex->getMessage(), $ex->getCode(), $ex->getFile(), $ex->getLine(), $ex->getTraceAsString());
        echo "<br />";
    }
    finally
    {
        echo "finally";
        echo "<br />";
    }



    OK
    [源码下载]

  • 相关阅读:
    【力扣 044】62. 不同路径
    【力扣 040】1143. 最长公共子序列
    【力扣 039】347. 前K个高频元素
    【力扣 047】63. 不同路径 II
    【力扣 038】20. 有效的括号
    【力扣 043】897. 递增顺序查找树
    SAP MM不常用移动类型之325
    SAP RETAIL 初阶之使用事务代码WRFMATCOPY创建商品主数据
    SAP RETAIL初阶之商品主数据门店视图里没有WM数据
    SAP RETAIL初阶之商品主数据WM视图
  • 原文地址:https://www.cnblogs.com/webabcd/p/5453781.html
Copyright © 2020-2023  润新知