• 中文
    • English
  • 注册
  • 查看作者
  • 2:PHP基础教程

    一.  基础语法

    PHP 脚本以 <?php 开头,以 ?> 结尾,可以使用echo输出内容到页面,以脚本中的语句以;结尾

    <!DOCTYPE html>
    <html>
    <body>
    
    <?php
    echo "Hello ZhangJia!";
    ?>
    
    </body>
    </html>

    php中所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感,但是变量名对大小写是敏感的

    二.  PHP中的注释

    php共有三种注释,两种单行注释,一种多行注释:

    <?php
    // 第一种单行注释
    
    # 第二种单行注释
    
    /*
    多行
    注释
    */
    ?>

    三.  PHP中的变量

    简单总结一下php变量的一些特性:

    • PHP 是一门类型松散的语言,声明变量的时候不用声明具体的数据类型

    • 声明变量以$符开头,PHP 没有创建变量的命令,变量会在首次为其赋值时被创建,使用变量的时候依旧需要$符

    • 变量声明在函数之内,则是局部变量,声明在函数外,则是全局变量,PHP 有三种不同的变量作用域:local(局部),global(全局),static(静态)

    • 在函数内无法直接访问全局变量,如果想使用全局变量,则需要使用global 关键字

    <?php
    $x = 1; // 全局变量
    
    function add()
    {
        global $x; //在函数内使用全局变量
        $y = 2; // 局部变量
        $z =  $x + $y;
        echo "x + y = $z";
    }
    
    add(); //调用add
    
    ?>

    PHP 同时在名为 $GLOBALS[index] 的数组中存储了所有的全局变量。下标存有变量名。这个数组在函数内也可以访问,并能够用于直接更新全局变量,所以上线的例子还可以改写为:

    <?php
    $x = 1; // 全局变量
    
    function add()
    {
        $y = 2; // 局部变量
        $z =  $GLOBALS['x'] + $y;
        echo $z;
    }
    
    add(); //调用add
    
    ?>

    通常,当函数完成/执行后,会删除所有变量,如果不需要删除,则需要使用static关键字,并且每当函数被调用时,这个变量所存储的信息都是函数最后一次被调用时所包含的信息。

    <?php
    
    function add() {
        static $x=0;
        echo $x;
        $x++;
    }
    add();
    add();
    add();
    ?>
    //输出012

    四.  PHP的输出

    在 PHP 中,有两种基本的输出方法:echo 和 print。区别如下:

    • echo – 可以输出一个或多个字符串,没有返回值

    • print – 只允许输出一个字符串,返回值总为 1

    <?php
    echo "我的名字是", "张甲";
    echo "<br>";
    print "我的名字是";
    print "张甲";
    ?>

    五.  数据类型

    php的数据类型和需要注意的事项如下:

    • 字符串:单引和双引都可以

    • 整数:可以声明进制

    <?php 
    $x = 0x8C; // 十六进制数
    echo "<br>";
    $x = 047; // 八进制数
    ?>
    • 浮点数:浮点数是有小数点或指数形式的数字,指数形式:$x = 2.4e3;

    • 逻辑:也就是布尔类型,值为true和false

    • 数组:array

    <?php
    $x = array("zhang","jia");
    echo $x[0]; #输出zhang
    ?>
    • 对象:声明类,然后通过类创建对象,类中可以有变量和函数

    class Book {
        var $name;
        var $price;
        
        function Book($name="计算机网络",$price=49.00) {
            $this->name = $name;
            $this->price = $price;
        }
        function  getName() {
            return $this -> name;
        }
    
        function  getPrice() {
            return $this -> $price;
        }
    }
    ?>
    • NULL:null值就是空,也用于区分空字符串与空值数据库

    <?php
    $x="Hello world!";
    $x=null;
    var_dump($x); #输出NULL
    ?>

    另外我们可以使用var_dump() 返回变量的数据类型和值

    <?php
    $x = 47;
    $y = 047;
    var_dump($x); # 输出:int(47)
    var_dump($y); # 输出:int(39)
    ?>

    六.  字符串函数

    php中常用的字符串函数如下:

    • strlen():计算字符串长度

    • str_word_count():计算字符串中单词个数,以空格分隔

    • strrev():翻转字符串

    • strpos():计算首个匹配的字符位置,下标从0开始

    • str_replace():替换字符串

    <?php
    $x="Zhang jia";
    echo strlen($x); #9
    echo str_word_count($x); #2
    echo strrev($x); # aij gnahZ
    echo strpos($x,"jia"); #6
    echo str_replace("jia","ga", $x); #Zhang ga
    ?>

    七.  常量

    常量一旦被定义就无法更改或撤销定义,常量名以字符或下划线开头(常量名称前面没有 $ 符号)。

    设置常量需要使用define()函数,有时候还可以看到使用三个参数的define,一般第三个参数为true代表对大小写不敏感,但是这种方式在新版PHP中已经被弃用,使用会触发警告。

    常量是默认全局的,而且可以贯穿整个脚本使用。

    <?php
    define("NAME","My name is ZhangJia");
    echo NAME;
    ?>

    八.  运算符

    • 算术运算符

    <?php
    $x=3;
    $y=2;
    echo ($x + $y); // 输出 5
    echo "<br/>";
    echo ($x - $y); // 输出 1
    echo "<br/>";
    echo ($x * $y); // 输出 6
    echo "<br/>";
    echo ($x / $y); // 输出 1.5,而不是1
    echo "<br/>";
    echo ($x % $y); // 输出 1
    ?>
    • 赋值运算符:=、+=、-=、*=、/=、%=

    • 字符串运算符:. (串接)和 .=(串接赋值)

    <?php
    $a = "Zhang";
    $b = $a . " Jia";
    echo $a; // 输出 Zhang
    echo "<br/>";
    echo $b; // 输出 Zhang Jia
    echo "<br/>";
    $x="Zhang";
    $x .= " ga";
    echo $x; // 输出 Zhang ga
    ?>
    • 递增/递减运算符:++$x、$x++、–$x、$x–

    • 比较运算符:

    2:PHP基础教程

    • 逻辑运算符

    2:PHP基础教程

    •  数组运算符

    2:PHP基础教程

    九.  if~else 和switch

    if-else

    <?php
    $age = 18;
    if ($age < 18) {
        echo "未成年";
    } else {
        echo "已经成年";
    }
    ?>

    switch

    <?php
    $name = "zj";
    switch ($name) {
        case "jz":
            echo "I'm jz";
            break;
        case "zj":
            echo  "I'm zj";
            break;
        default:
            echo  "I'm no one";
    }
    ?>

    十.  While和do…while循环

    while和do…while用于不确定次数的循环

    <?php
    # while
    $age = 1;
    while ($age < 18){
        $age++;
    }
    echo $age; #18
    
    # do ... while
    $age = 1;
    do {
        $age++;
    } while($age < 18); #18
    echo $age; #18
    ?>

    十一.  for循环和forEach

    如果确定循环次数,则可以使用for循环和forEach,而foreach循环又只适用于数组,并用于遍历数组中的每个键/值对

    <?php
    for ($x=0; $x<=5; $x++) {
        echo "x = $x <br>";
    }
    
    $names = array("zhangjia","zhangyi","zhangjie");
    foreach ($names as $name) {
        echo "$name <br>";
    }
    ?>

    十二.  函数

    php拥有超过 1000 个内建的函数,除了内建的 PHP 函数,我们可以创建我们自己的函数。页面加载时函数不会立即执行,函数只有在被调用时才会执行。

    尝试自定义一个函数,该函数有两个参数,其中age有默认值为18

    <?php
    function getPersonInfo($name,$age=18){
        return "My name is $name".",I'm $age years old";
    }
    
    echo "Hello,".getPersonInfo("ZhangJia",20); # Hello,My name is ZhangJia,I'm 20 years old
    echo "Hello,".getPersonInfo("ZhangYi"); # Hello,My name is ZhangYi,I'm 18 years old
    ?>

    十三.  数组

    在 PHP 中, array() 函数用于创建数组,在 PHP 中,有三种数组类型:

    • 索引数组 – 带有数字索引的数组

    • 关联数组 – 带有指定键的数组

    • 多维数组 – 包含一个或多个数组的数组

    索引数组:

    <?php
    $names = array("zhangjia","zhangyi","zhangjie");
    echo count($names); #3
    ?>

    关联数组:

    <?php
    $names=array("Me"=>"zhangjia","brother"=>"zhangyi","sister"=>"zhangjie");
    echo "My brother name is  ". $names['brother']  # My brother name is zhangyi
    ?>

    多维数组:多维数组指的是包含一个或多个数组的数组,一般也就是二维数组为止,三维数组用的就很少了,比如用二维数组存储以下内容:

    姓名 年龄 性别
    张甲 22
    张一 22
    <?php
    $names = array
    (
        array("张甲",22,"男"),
        array("张一",22,"男")
    );
    foreach($names as $name) {
            echo "My name is $name[0], I am $name[1], My gender is $name[2] <br/>";
    }
    ?>

    十四.  数组排序

    在本节中,我们将学习如下 PHP 数组排序函数:

    • sort() – 以升序对数组排序

    • rsort() – 以降序对数组排序

    • asort() – 根据值,以升序对关联数组进行排序

    • ksort() – 根据键,以升序对关联数组进行排序

    • arsort() – 根据值,以降序对关联数组进行排序

    • krsort() – 根据键,以降序对关联数组进行排序

    十五.  超全局变量

    PHP中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 global $variable; 就可以访问它们,这些超全局变量一共有9个,分别是:

    • $GLOBALS:用于在PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)

    • $_SERVER:用于保存关于报头、路径和脚本位置的信息

    • $_REQUEST:用于收集 HTML 表单提交的数据。

    • $_POST:用于收集提交 method=”post” 的 HTML 表单后的表单数据。$_POST 也常用于传递变量。

    • $_GET:用于收集提交 HTML 表单 (method=”get”) 之后的表单数据。

    • $_FILES:用于上传文件

    • $_ENV:用于保存服务器端环境变量

    • $_COOKIE:用户保存cookie信息

    • $_SESSION:用于保存session信息

    更详细内容请查看W3school

    参考资料

    以上所有内容均整理自W3school

  • 0
  • 11
  • 0
  • 2.1k
  • 请登录之后再进行评论

    登录
  • 0
    张甲49站长
    @哈哈哈 请不要回复无意义的内容
  • 0
    23432
  • 0
    要是很多评论怎么搞
  • 0
    也不搞个分页
  • 0
    2313
  • 0
    12313
  • 0
    12313
  • 0
    123131
  • 0
    123131
  • 0
    1231
  • 0
    213
  • 单栏布局 侧栏位置: