• 中文
    • 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
    • 1.9k
    • 请登录之后再进行评论

      登录
    • 0
      张甲49站长
      @哈哈哈 请不要回复无意义的内容
    • 0
      23432
    • 0
      要是很多评论怎么搞
    • 0
      也不搞个分页
    • 0
      2313
    • 0
      12313
    • 0
      12313
    • 0
      123131
    • 0
      123131
    • 0
      1231
    • 0
      213
    • 赞助本站

      • 支付宝
      • 微信
      • QQ

      感谢一直支持本站的所有人!

      单栏布局 侧栏位置: