最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • PHP基础知识和语法点

    正文概述 转载于:掘金(代码迷途)   2021-07-01   406

    这是我参与更文挑战的第21天,活动详情查看: 更文挑战

    php相关知识

    PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言。

    PHP 文件

    • PHP 文件可包含文本、HTML、JavaScript代码和 PHP 代码
    • PHP 代码在服务器上执行,结果以纯 HTML 形式返回给浏览器
    • PHP 文件的默认文件扩展名是 ".php"

    PHP知识点

    1. 开始标记<?php和结束标记?>。开始标记和结束标记之间的内容作为PHP代码解析和执行。
    2. 获取get请求参数使用$_GET
    <body>
      <div id="head"></div>
      <div id="content">
        <?php
          $id=$_GET['id'];// 获取get查询字符串参数
          if($id=='1'){
            // 读取1.txt文件内容 并 输出echo
            $str = file_get_contents('./1.txt');
            echo $str;
          }      
        ?>
      </div>
      <div id="footer"></div>
    </body>
    
    1. echo输出内容

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

    <?php
    echo "我要学 PHP!<br>";
    echo "这是一个", "字符串,", "使用了", "多个", "参数。";
    
    print "我要学习 PHP!";
    ?>
    
    1. 使用///**/进行注释
    2. 变量以$开头,没有声明变量的命令,变量在第一次赋值时被创建,直接使用即可,字母数字下划线组成(数字不能在首位),初次定义变量最好给定值。
    3. 常量不能被更改,定义常量define('PI',3.1415926),一个常量由英文字母、下划线、和数字组成,数字不能为首字母(常量名不需要加$修饰符)。常量在整个脚本中都可以使用。常量只能是boolean、integer、float、string类型。
    4. define('PI',3.1415926)是个函数,如果常量定义过返回为true,没定义过返回false。
    5. var_dump()用于输出变量的相关信息。print_r()用于打印变量,以更容易理解的形式展示。
    6. PHP数据类型:

    标量类型 —— String(字符串), Integer(整型,PHP_INT_MAXPHP_INT_MIN), Float(浮点型,浮点数是带小数部分的数字,或是指数形式), Boolean(布尔型);

    复合类型 —— Array(数组), Object(对象), callable(可调用);

    特殊类型 —— resource(资源) , NULL(空值,null不区分大小写)。

    1. 数组。使用array()[](>=php5.4)定义数组

    count()函数返回数组的长度

    • 索引数组:带有数字索引的数组。
    • 关联数组:带有指定键的数组。使用分配给数组的指定键的数组(键为字符串string或整型int)
    • 多维数组 - 包含一个或多个数组的数组
    <?php 
       // 创建索引数组
       $cars=array("Volvo","BMW","Toyota"); 
       // $cars=["Volvo","BMW","Toyota"];
       // $cars[0]="Volvo";
       // $cars[1]="BMW";
       // $cars[2]="Toyota";
       var_dump($cars);
     
       echo count($cars); // count()数组长度
    
      // 遍历索引数组
       $arrlength=count($cars);
       for($i=0;$i<$arrlength;$i++) {
         echo $cars[$i];
         echo "<br>";
       }
    
       echo "<br>";
    
       $arrlength=count($cars);
       
        // 数组元素类型不一致
        $stu0 = array('张三',13);
    
       // 关联数组 关联数组是使用分配给数组的指定键的数组(键为字符串string或整型int)。
       // 两种创建关联数组的方式
       $stu1 = array(
         'name'=>'张三',
         'age'=> 13
       );
       $stu2['name']='李四';
       $stu2['age']=14;
    
       //遍历
       foreach($stu2 as $key=>$value)
       {
           echo $key . " 是:" . $value;
           echo "<br>";
       }
    
    ?>
    
    1. 哪些值等于FALSE
      1. 布尔值FALSE本身
      1. 整型0
      1. 浮点型0.0
      1. 空字符串和字符串"0"
      1. 不包括任何元素的数组
      1. 特殊类型NULL(包括尚未赋值的变量)
      1. 从空标记生成SimpleXML对象

    所有其他值都被认为是TRUE(包括任何资源 和 NAN)

    (bool)类型转换

    <?php
      $int_a=0;
      var_dump( (bool)$int_a ); // false
    ?>
    
    1. 表达式:任何有值的东西。

    表达式是PHP最重要的基石,几乎所写的任何东西都是一个表达式。

    最基本的表达式形式是常量和变量。如$a = 5,“5”的值为5,“5”是一个值为5的表达式;$b = $a$a是一个值也为5的表达式。

    函数也是表达式。

    PHP 是一种面向表达式的语言

    1. 运算符
    • 算数运算符

    PHP基础知识和语法点

    • 赋值运算符

    PHP基础知识和语法点

    • 递增递减运算符

    PHP基础知识和语法点

    • 比较运算符

    PHP基础知识和语法点

    • 逻辑运算符

    PHP基础知识和语法点

    • 字符串运算符

    PHP基础知识和语法点

    1. 流程控制
    • 顺序 标准执行时是顺序执行

    • 条件

    1)- if语句

    一种直接使用if(...elseif...else)语句条件判断和执行。

    另一种使用<?php if(true): ?><?php endif; ?>在网页中实现条件语句(<?php if(true): ?><?php elseif: ?><?php else: ?><?php endif; ?>)

    <?php
        if(true){
            echo '<h1  class="head">这是一个标题</h1>';
            echo '<h1  class=\'head\'>这是一个标题</h1>';
        }
        else if(true){
    
        }
        elseif(true){
    
        }
        else{
    
        }
    ?>
    
    <?php if(true): ?>
        <h1  class="head">这是一个标题</h1>
    <?php endif; ?>
    

    2)- switch语句

    使用 Switch 语句可以避免冗长的 if..elseif..else 代码块。

    switch (expression)
    {
    case label1:
      // expression = label1 时执行的代码 ;
      break;  
    case label2:
      // expression = label2 时执行的代码 ;
      break;
    default:
      // 表达式的值满足以上所有case时执行的代码;
    }
    
    • 循环

    1)- while循环

    while(true){
    
    }
    

    替代语法

    <?php while(): ?>
     // code
    <?php endwhile; ?>
    

    2)- foreach循环

    foreach( $as as $a ){
    
    }
    

    foreach( $as as $a_key => $a_value ){
    
    }
    

    替代语法

    <?php foreach(expr): ?>
     // 循环体
    <?php endforeach; ?>`
    

    3)- for循环

    可以指定循环次数。

    for (init counter; test counter; increment counter) {
      code to be executed;
    }
    
    for ($x=0; $x<=10; $x++) {
      echo "数字是:$x <br>";
    } 
    
    1. 函数
    <?php
      function functionName($a,$b){
    
      }
    
      // 默认值参数
      function functionName($a,$b=4){
    
        // 返回值
        // return $value
      }
    ?>
    
    1. PHP变量作用域:变量的作用域是脚本中变量可被引用/使用的部分(范围)。

    PHP 有四种不同的变量作用域:local、global、static、parameter

    • 局部和全局作用区

    在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问,要在一个函数中访问一个全局变量,需要使用 global 关键字。

    PHP 将所有全局变量存储在一个名为$GLOBALS[name]的数组,函数内部可通过$GLOBALS访问

    <?php
    $x=5;
    $y=10;
     
    function myTest()
    {
        global $x,$y;
        $y=$x+$y;
    }
     
    myTest();
    echo $y; // 输出 15
    ?>
    

    对应着$GLOBALS方式

    <?php
    $x=5;
    $y=10;
     
    function myTest()
    {
        $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];
    } 
     
    myTest();
    echo $y;
    ?>
    
    • Static作用域

    当一个函数完成时,它的所有变量通常都会被删除。然而,如果希望某个局部变量不要被删除。可以在第一次声明变量时使用static关键字:

     <?php
     function myTest()
     {
         static $x=0;
         echo $x;
         $x++;
         echo PHP_EOL;    // 换行符
     }
      
     myTest();  //0
     myTest();  //1
     myTest();  //2
     ?>
    
    • parameter参数作用域 (形参)

    参数声明作为函数声明的一部分。

    function myTest($x)
    {
        echo $x;
    }
    
    myTest('Galois');
    myTest(8888);
    
    1. 类和对象

    属性声明是由关键字 public,protected 或者 private 开头,然后跟一个普通的变量声明来组成。

    <?php
      // 继承
      class ClassName extends ParentClass{
          /* 成员变量 */
          var $url;
          var $title;
    
        // 构造函数
        function __construct( $par1, $par2 ) {
           $this->url = $par1;
           $this->title = $par2;
        }
    
        // 析构函数
        function __destruct() {
           print "销毁 " . $this->name . "\n";
       }
    
        function printIP()
        {
            echo $this->url;
            echo $this->title;
        }
      }
    
      // 创建对象
      $obj=new ClassName();
    ?>
    
    1. 文件拆分

    模块化编程。使用requireinclude关键字引入其他php文件,之后既可以使用这个文件中的php代码、函数、变量等

    require_onceinclude_once可以多次引入同一文件而不报错。两者均为只引入一次,不会重复引入。

    // 文件a.php
    <?php
        function add($a,$b){
          return $a+$b;
        }
    ?>
    
    // 文件b.php
    <?php
    require './a.php';  // 报错级别比include高
    // include './a.php'; // 引入错误后面代码仍可执行
    
    // require_once('./a.php');  // require_once "./a.php";
    // include_once "./a.php";   // include_once('./a.php');
    
    $c=add(3,4);
    echo $c;
    ?>
    
    1. 常用函数
    • printf()输出格式化的字符串
    • sprintf()返回格式化的字符串
    • print()输出(一个)字符串,只能有一个参数。
    <?php
      $name="张三";
      $age=16;
    
      // 格式化字符串输出
      printf('我是%s,今年%d岁',$name,$age);  // 会返回结果字符串的长度
    
      // 返回格式化字符串
      $str=sprintf('我是%s,今年%d岁',$name,$age);
      echo $str;
    
      print('打印输出');
      // 退出当前执行,后面代码不再执行
      exit();
    ?>
    
    • print_r()以一定格式(好看的格式)打印变量

    bool print_r ( mixed $expression [, bool $return ] ) 参数说明:

    $expression: 要打印的变量,如果给出的是 string、integer 或 float 类型变量,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object与数组类似。

    $return: 可选,如果为 true 则不输出结果,而是将结果赋值给一个变量,false则直接输出结果。

    1. php单引号和双信号

    单引号中的内容不会经过解释(\n不会输出为换行,变量也不会被解析为变量的值等),即内容会与输入的内容一致

    双引号中的内容将会被解释,即解析内容中的变量。

      1. 双引号中插入单引号,若单引号中存在变量,变量会被解释
      1. 因为双引号的内容会被解释,所以双引号的效率会比单引号的效率低,所以,在PHP代码中尽量使用单引号;若包含变量需要进行解析时,则使用双引号
    1. <pre></pre>标签,用于保留换行等内容原样输出

    起源地下载网 » PHP基础知识和语法点

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元