PHP基础

作者: 仇诺伊 | 来源:发表于2017-01-08 15:39 被阅读1123次

    Hello World##

    <!DOCTYPE html>
    <html>
    <body>
    <h1>My first PHP page</h1>
    <?phpecho "Hello World!";?>
    </body>
    </html>
    

    在线运行
    PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。

    变量##

    <?php
    $x=22;
    $y=33;
    $z=$x+$y;
    echo $z;
    

    在线运行
    PHP 变量规则:

    • 变量以 $ 符号开始,后面跟着变量的名称
    • 变量名必须以字母或者下划线字符开始
    • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )
    • 变量名不能包含空格
    • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

    当赋一个文本值给变量时,在文本值两侧加上引号.

    <?php
    $z="Hello world!";
    echo $z;
    

    在线运行
    不必向 PHP 声明该变量的数据类型。
    PHP 会根据变量的值,自动把变量转换为正确的数据类型。
    在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。PHP是一门弱类型语言.

    PHP 有四种不同的变量作用域:

    • local
    • global
    • static
    • parameter
      在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。
      在 PHP 函数内部声明的变量是
      局部变量**,仅能在函数内部访问:
    <?php
    $x=5; // 全局变量
    function myTest(){
        $y=10; // 局部变量
        echo "测试函数内变量:";
       // print_r($x);这个$x是打印不出来的,如果想要打印出来,需要使用global.
        print_r($y);
    }
    myTest();
    echo "测试函数外变量:";
    print_r($x);
    //print_r($y);
    

    在线运行
    PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。index保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量

    <?php
    $x=55;
    $y=10;
    function myTest(){ 
       $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    }
    myTest();
    echo $y;
    

    在线运行
    当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
    要做到这一点,请在您第一次声明变量时使用static关键字:

    <?php
    function myTest(){
        static $x=0;
        echo $x;
        $x++;
    }
    myTest();
    myTest();
    myTest();
    myTest();
    

    在线运行

    PHP echo 和 print 语句##

    echo 和 print区别:
    echo - 可以输出一个或多个字符串
    print - 只允许输出一个字符串,返回值总为 1

    提示:echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。

    <?php
    echo "<h2>PHP is fun 1!</h2>";
    echo "Hello world!<br>";
    echo "I'm about to learn PHP!<br>";
    echo "This", " string", " was", " made", " with multiple parameters.";
    echo "<br>";
    echo '*******************************';
    print "<h2>PHP is fun 2!</h2>";
    print "Hello world!<br>";
    print "I'm about to learn PHP!";
    //print "This", " string", " was", " made", " with multiple parameters.";  会出错
    

    在线运行

    <?php
    $txt1="Learn   PHP";
    $txt2="w3cschool.cc";
    $cars=array("Volvo","BMW","Toyota");
    print $txt1;
    print "<br>";
    print "Study PHP at $txt2";
    print "My car is a {$cars[0]}";
    

    在线运行

    php数据类型##

    • String(字符串),
    • Integer(整型),
    • Float(浮点型),
    • Boolean(布尔型),
    • Array(数组),
    • Object(对象),
    • NULL(空值)。

    设置常量,使用 define() 函数,函数语法如下

    bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
    

    创建一个区分大小写的常量##

    常量在定义后,默认是全局变量

    <?php
    echo "区分大小写<br>";
    define("GREETING", "欢迎访问 baidu.com");
    echo GREETING;    // 输出 "欢迎访问 baidu.com"
    echo '<br>';echo "greeting";   // 输出 "greeting"
    echo "<br>不区分大小写<br>";
    define("GREETING", "欢迎访问 baidu.com", true);
    echo greeting;  // 输出 "欢迎访问 baidu.com"
    

    在线运行

    PHP 并置运算符##

    在 PHP 中,只有一个字符串运算符。
    并置运算符** (.) **用于把两个字符串值连接起来。

    <?php
    $txt1="Hello world!";
    $txt2="Today a nice day!";
    echo $txt1 . " " . $txt2;
    

    在线运行

    PHP strlen() 函数##

    有时知道字符串值的长度是很有用的。
    strlen() 函数返回字符串的长度(字符数)。

    <?php
    echostrlen("Helloworld!");
    ?>
    

    在线运行

    PHP strpos() 函数##

    strpos() 函数用于在字符串内查找一个字符或一段指定的文本。
    如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

    <?php
    echostrpos("Helloworld!","world");
    ?>
    

    在线运行

    PHP运算符##

    在 PHP 中,赋值运算符 = 用于给变量赋值。
    在 PHP 中,算术运算符 + 用于把值加在一起。

    <?php
    $x=10;
    $y=6;
    echo "<br> +  ";
    echo ($x + $y); // 输出16
    echo "<br> -  ";
    echo ($x - $y); // 输出4
    echo "<br> *  ";
    echo ($x * $y); // 输出60
    echo "<br> /  ";
    echo ($x / $y); // 输出1.6666666666667
    echo "<br> %  ";
    echo ($x % $y); // 输出4
    

    在线运行

    PHP7+ 版本新增整除运算符intdiv(),###

    <?php
    var_dump(intdiv(10, 3));
    ?>
    

    在线运行

    PHP 逻辑运算符

    运算符 名称 描述 实例
    x and y 如果 x 和 y 都为 true,则返回 true x=6y=3(x < 10 and y > 1返回 true
    x or y 如果 x 和 y 至少有一个为 true,则返回 true x=6y=3(x==6 or y==5) 返回 true
    x xor y 异或 如果 x 和 y 有且仅有一个为 true,则返回 true x=6y=3(x==6 xor y==3) 返回 false
    x && y 如果 x 和 y 都为 true,则返回 true x=6y=3(x < 10 && y > 1) 返回 true
    x II y 如果 x 和 y 至少有一个为 true,则返回 true x=6y=3(x==5 II y==5) 返回 false
    ! x 如果 x 不为 true,则返回 true x=6y=3!(x==y) 返回 true

    PHP 数组运算符##

    运算符 名称 描述
    x + y 集合 x 和 y 的集合
    x == y 相等 如果 x 和 y 具有相同的键/值对,则返回 true
    x === y 恒等 如果 x 和 y 具有相同的键/值对,且顺序相同类型相同,则返回 true
    x != y 不相等 如果 x 不等于 y,则返回 true
    x <> y 不相等 如果 x 不等于 y,则返回 true
    x !== y 不恒等 如果 x 不等于 y,则返回 true
    <?php
    $x = array("a" => "red", "b" => "green");
    $y = array("c" => "blue", "d" => "yellow");
    $z = $x + $y; // $x 和 $y 数组合并
    var_dump($z);
    var_dump($x == $y);
    var_dump($x === $y);
    var_dump($x != $y);
    var_dump($x <> $y);
    var_dump($x !== $y);
    

    在线运行

    三元运算符##

    另一个条件运算符是"?:"(或三元)运算符 。

    (expr1) ? (expr2) : (expr3) 
    

    对 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。自 PHP 5.3 起,可以省略三元运算符中间那部分。表达式 expr1 ?: expr3 在 expr1 求值为 TRUE 时返回 expr1,否则返回 expr3。

    
    <?php
    $test = 'Today is a nice day!';
    //$test = '';
    // 普通写法
    $username = isset($test) ? $test : 'nobody1';
    echo $username, PHP_EOL;
    //PHP_EOL 换行
    // PHP 5.3+ 版本写法
    $username = $test ?: 'nobody2';
    echo $username, PHP_EOL;
    

    在线运行
    在 PHP7+ 版本多了一个 NULL 合并运算符,

    <?php
    // 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值
    $username = $_GET['user'] ?? 'nobody';// 类似的三元运算符
    $username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
    ?>
    

    if else##

    • if 语句 - 在条件成立时执行代码
    • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码
    • if...else if....else 语句 - 在若干条件之一成立时执行一个代码块
    • switch 语句 - 在若干条件之一成立时执行一个代码块

    switch##

    <?php
    
    /**
     * Created by Zoe.
     * User: Administrator
     * Date: 2017/1/23
     * Time: 9:10
     */
    $favcolor="red";
    switch ($favcolor)
    {
        case "red":
            echo "你喜欢的颜色是红色!";
            break;
        case "blue":
            echo "你喜欢的颜色是蓝色!";
            break;
        case "green":
            echo "你喜欢的颜色是绿色!";
            break;
        default:
            echo "你喜欢的颜色不是 红, 蓝, 或绿色!";
    }
    

    php数组##

    相关文章

      网友评论

        本文标题:PHP基础

        本文链接:https://www.haomeiwen.com/subject/eevqbttx.html