搜尋
首頁後端開發php教程PHP基本语法的介绍

PHP基本语法的介绍

Jul 05, 2018 am 09:27 AM

 这篇文章主要介绍了关于PHP基本语法的介绍,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

知识点:

  1.  标记符,注释

  2.  变量

  3.  常量

  4.  数据类型

  5. 运算符

  6. 流程控制


标记符,注释

  4种标记符号:

    1.  默认形式:  71ca6dacda524aa8ce46cab15dc58c38

      如果7d780e9dc385605ba3d38b522c785946之后没有html代码,则 ?> 标记可以省略

    2. 短标签形式: cd032abc284185249f623a67d93db3b6

      默认是关闭的,需要开启配置项【php.ini】: short_open_tag=on

    3. script标签形式:   1b969a737980eb9aff4be202be7cb933   php语句    2cacc6d41bbb37262a98f745aa00fbf0

    4. asp形式:  2b4eeac9121ceddcc1e8441373833cb9 

      默认是关闭的,需要开启配置项【php.ini】:asp_tags =on

  大小写

    变量: 区分大小写

    常量: 区分大小写, 可以在php.ini文件中配置为不区分大小写

    其他不区分大小写: 如函数名,系统关键字...

  注释

    单行注释:  //注释内容    或  #注释内容

    多行注释:  /*注释内容*/

变量

  概念:

    代表一定存储空间及其中数据的一个“标识符”

    赋值同时定义变量, $v1 = 1; 图示:

  命名规则

    以字母或下划线开头 后跟任意数量(含0个)字母,数字和下划线

    常见命名:

       骆驼命名法: 首单词小写,其后面每个单词首字母大写 。 如: $myName 
       帕斯卡命名法:每个单词首字母大写 。  如: $MyName
         下划线分割法:每个单词小写,并且之间用下划线分开 。 如:$my_name

  基本操作

    取值   如  $v = 12.3;  $m=round($v)

    赋值   如  $v = 12.3;

    判断 isset()   判断该变量是否存在,或该变量是否有数据值!

    删除unset():断开该变量名跟该变量原有的数据值之间的“引用关系”

  传值形式

    值传递: 值相等,相互独立。 如  $v1 = 1; $v2 = $v1;  图示:

        既是将变量$v1的值进行了复制,然后再给另一变量v2赋值

    引用传递: 实质就是2个变量指向同一个数据空间。 如 $m1 = 1; $m2 = & m1; 图示:

        既将变量$m1跟其数据值之间的“引用关系”,复制一份,再给予变量$m2  

  可变变量

    连续出现“$”的变量形式。 如: $v = "a";  $a=10;    则 $$v = 10.

 1 <?php 
 2      //可变变量 
 3     $v1 = 123;  
 4     $v2 = 221; 
 5     $v3 = 3; 
 6     $v4 = 9; 
 7     $v5 = 100; 
 8     $v6 = 200; 
 9 
 10     //求变量的和
 11     $sum = 0; //用于存储和
 12     for($i = 1; $i <= 6; $i++) {
 13         $v = "v".$i;  
14         $sum += $$v;
15     }
16     echo $sum;
17 ?>

点击查看-可变变量使用

  预定义变量

    超全局数组,有超全局作用域,系统定义与维护 。主要有$_POST, $_GET,$_REQUEST,$_SERVER,$GLOBALS, $_COOKIE,$_SESSION ....

    $_POST  通过表单以post方式(method=”post”)提交的时候所提交的所有数据    接收数据如: $name = $_POST['name'];

      表单提交数据注意: 对于radio和checkbox数据不填则接收不到,其他不填也会接收到

    $_GET  通过get方式提交时所提交的所有数据 接收数据如: $name = $_GET['name'];

      有5种方式实现get提交数据  

        形式1: form表单get提交 

            如  64525afc22bce0d85c2b3cc16d9cac98 ...... f5a47148e367a6035fd7a2faa965022e

        形式2: a标签提交 

             如    b384b8d1bed851163820377112494f42主页5db79b134e9f6b82c0b36e0489ee08ed

        形式3: js跳转提交1  

             如:3f1c4e4b6b16bbbd69b2ee476dc4f83a location.href=”  index.php?name=young&gender=male&age=18”; 2cacc6d41bbb37262a98f745aa00fbf0

        形式4:js跳转提交   

            如:3f1c4e4b6b16bbbd69b2ee476dc4f83alocation.assign=”  index.php?name=young&gender=male&age=18”; 2cacc6d41bbb37262a98f745aa00fbf0

        形式5: php跳转提交     

             如:header(“location: index.php?name=young&gender=male&age=18”);

    $_REQUEST 是$_GET变量和$_POST变量数据的“合集”:即,它里面同时存储了这两种数据 . 接收数据如: $name = $_REQUEST['name'];

      提交表单可以同时具有get和post数据。

        如 e90cd69e4d53c4f4eb4aaa193f6e9b71.....f5a47148e367a6035fd7a2faa965022e

      接收数据时, 如果post与get数据项名称相同,如$_POST['name']='young', $_GET['name']='admin'。

        如果使用$_REQUEST方式接收,则post数据覆盖get数据。

        可以通过配置项【php.ini】进行设置: request_order="GP"     G代表GET  P代表POST   后者覆盖前者

    $_SERVER  代表一次浏览网页的过程中的浏览器端的一些信息或服务器端的一些信息

      常用选项:

        $_SERVER["REMOTE_ADDR"]  访问者IP地址

        $_SERVER["SERVER_ADDR"]  服务器IP地址

        $_SERVER["SERVER_NAME"]  服务器名字   既站点配置中设置的ServerName    如: www.test.com

        $_SERVER['DOCUMENT_ROOT']  站点物理地址。 既站点配置中设置的 DocumentRoot      如: d:/www

        $_SERVER["PHP_SELF"]  当前网页地址,不包含域名   如  /index.php

        $_SERVER["SCRIPT_FILENAME"] 当前网页的物理路径  如 d:/demo/index.php

        $_SERVER["QUERY_STRING"] 获取当前网页地址中的所有get数据(既 ?号后面部分),但只是一个整体的字符串而已  如:id=2&name=young

    $GLOBALS :存储所有全局变量。 可以用于在局部范围不可以使用全局变量的时候,可以用它来取得指定全局变量的值

  isset() 与 empty()

    isset(变量): 判断变量是否存在或变量是否为空(null),如果存在,返回true,否则返回false

    empty(变量): 判断变量的“内容”是否为空的,内容是空的返回true,否则返回false

      为空情形:  0     0.0   “”    “0”     false     null    array()空数组

常量

  概念

    含义: 是其中存储的数据不会也不应该改变的“标识符”

   定义

    方式1: define('常量名',值); 如: define('PI',3.14);

    方式2: const 常量名=值;  如: const HOST='localhost';

      注意: const语法只能用在“顶层代码”位置,而不能用在大括号的位置

  取值

    形式1:  直接使用常量名  如: echo PI;

    形式2:  使用函数constant('常量名')  如 echo constant('PI');

  与变量的区别

    定义形式不同
    使用形式不同:常量无需$符号
    可变程度不同,常量的值不可以改变,常量也不可以销毁
    作用范围不同:常量具有超全局作用域(函数内外都可以直接使用)
    可用类型不同:常量只能存储标量类型(整数,浮点数,字符串,布尔值)

  判断是否存在

    defined(“常量名”)  存在返回true  不存在返回false  

    使用未定义常量,会有Notice警告,系统会将该 未定义常量名称 作为 其值 使用

   预定义常量

    常见: 【可参考PHP手册附录》保留字列表》预定义常量】

      M_PI:   就是圆周率的常量值
      PHP_OS: 就是PHP运行所在的操作系统
      PHP_VERSION: 就是PHP的版本号
      PHP_INT_MAX: php中的最大的整数值

  魔术常量

    __FILE__       代表当前网页文件的网页物理路径
    __DIR__        代表当前网页文件所在的目录
    __LINE__      代表这个常量名当前所在的行号

数据类型

  8种数据类型

    基本数据类型(标量类型)

      整型类型:  int   interger             
      浮点类型:    float  double    如: $v1 = 123.456E2;  //含义为: 123.456乘以10的2次方

        不要用浮点数进行大小比较, 如果要比较的浮点数,转换为整数之后再比较。如 要求精度为3位小数,则都乘以1000,然后取整后比较

        当整数运算的结果超出整数的范围后,会自动转换为浮点数
      字符串类型:  string                     
      布尔类型:   bool  Boolean

    复合类型: 

      数组:array   

      对象:object

    特殊类型:

      空类型        null   这种类型中,只有一个数据,那就是null
      资源类型    resource

  整数类型进制转换

    整数类型

      0b1010(二进制), 0123(八进制),   123(十进制),  0x123(十六进制)

      Bin: 二进制    oct: 八进制      dec: 十进制      hex:  16进制

    手工进制转换

      10进制转换为2进制: 除2取余倒着写出所有余数

          将一个10进制数字除以2,得到商和余数,如果商还大于等于2,则继续除以2,继续得到商和余数,依次类推,

          直到商为0为止,然后将前面的所有余数按倒序写出来对应的2进制数字

      10进制转换为8进制: 除8取余倒着写出所有余数

      10进制转换为16进制:除16取余倒着写出所有余数

      8进制转换为10进制:将8进制数字的每个位上的数乘以其对应位上的权值,然后相加之后的结果

      16进制转换为10进制:将16进制数字的每个位上的数乘以其对应位上的权值,然后相加之后的结果

      2进制转换为10进制:将2进制数字的每个位上的数乘以其对应位上的权值,然后相加之后的结果

      小数二进制的做法: 乘2并顺序取整数部分

    十进制转换为其他进制

      decbin(一个10进制数字):结果返回的是该数字的2进制数字形式的字符串
      decoct(一个10进制数字):结果返回的是该数字的8进制数字形式的字符串
      dechex(一个10进制数字):结果返回的是该数字的16进制数字形式的字符串

    其他进制转换为十进制

      bindec (一个2进制数字字符串):结果返回的是该2进制数字字符串对应的10进制数字形式的数字
      octdec (一个8进制数字字符串):结果返回的是该8进制数字字符串对应的10进制数字形式的数字
      hexdec (一个16进制数字字符串):结果返回的是该16进制数字字符串对应的10进制数字形式的数字

  获取数据类型

    getType($变量):    返回的是该类型的名字 (字符串)
    var_dump($变量):  会输出该变量的类型,数据内容,(以及长度)

  4种形式的字符串

                形式1:单引号 $str=‘hello’;  可以识别的转义符有: \\  \'
                形式2:双引号 $str = "hello"; 可以识别的转义符有: \\  \"    \n(换行符)      \r(回车符)  \t(tab符) 
                形式3:双引号定界符heredoc:   可以识别的转义符有: \\  \n  \r  \t  \$

1  $str= <<<"LAB"
2         this is a “test”!,这是一个&#39;测试&#39;!v1=$v1;
3 LAB;
4 //注:结束行只能是标识符及分号

形式4:单引号定界符nowdoc:

1 $str = <<<&#39;LAB&#39;
2         this is a test!3 LAB;

  数据类型转换

    在任何运算中,如果需要某种类型的数据,而给出的数据不是该类型,通常都会发生自动转换

    自动转换: 由“运算符”或类似运算符语句决定

        算术运算,只对数值进行计算

        字符串中数字的转换规则:只识别字符串的前面数字部分  如 1+ “3a5b” =4

    强制转换

      形式: (目标类型)数据  如 (int)$a;

      目标类型通常有:int,float,string,bool,array,object

      转换不改变变量本身,要改变变量本身,使用setType($var,$value);

  常见的类型相关的系统函数               

    var_dump() 打印变量的完整信息
            getType($var) 获取变量的类型的名字(字符串)
            setType($var,$type) 强制转换变量的类型
            isset() 变量是否设置
            empty() 变量的值是否为空
            unset() 删除变量
            is_xx系列函数: 判断是否为某种类型
                is_int($x)   判断是否是一个整数类型
                is_float()    判断是否是一个浮点类型
                is_string()  判断是否是一个字符串类型
                is_bool()    判断是否是一个布尔类型
                is_array()   判断是否是一个数组
                is_object()  判断是否是一个对象
                is_null()      判断是否是为null
                is_numeric()    是否是一个数字
                is_scalar()   是否是一个标量类型(int,float,bool,string)

运算符

  算术运算符

     符号: +    -    *    /     %     ++     --

     用于对数字进行运算,如果符号两边是非数字,会自动转换为数字再进行运算。

       求余(%)运算,先取整在求余。 如 11.3%3  相当于 11%3。

       ++, -- 只能对于数字或字母。字符串也可以进行自增减。

      如: $val = "abc" ; $val++;  echo $val;  //$val ="abd";

         $va = "abc9";  $va++;  echo $va;   //$va="abd0";

    “前自增” 先对变量自加再做其他运算,“后自增”先做其他运算再对自加变量加1; 自减类似。

  比较运算符

    符号:  >  377520d3212f646022f09a9470e4b397=  9dd45262522b608acda6bd38b2985304>

    仅仅针对于整数类型进行运算

    按位异或: 相同为0 不同为1.  如1^1 = 0;

    安慰左移运算e1f40d96c9f043c795fd8905680645a411,2=>22,3=>33); $narr = array(3=>23,4=>24); $resArr = $arr +$narr; //结果:array(1=>11,2=>22,3=>33,4=>24)

    == : 键名和值相等则为真,顺序可以不同。

  错误抑制运算符

    符号: @

    可以抑制可能产生的报错信息。如 $conn =@  mysql_connect(....);

  运算符优先级参考手册: 语言参考》运算符》运算符优先级

流程控制

  绘制流程图

  开始,结束: 用椭圆 表示

  语句块: 长方形图形

  判断:带指进和指出的四边形

  输入输出: 四边形

  分支结构

  if分支结构

1 if(条件1){
2      分支1; 
3 } else if(条件2){
4 分支2;
5 } ….. else{
6 //else 分支 
7 }

分支结构

  switch分支结构

1  switch(表达式) {
2     case 值1: 分支1; 
3         [break; ]  //可以省略4     case 值2: 分支2; 
5         [break; ]  
6         …….
7     Default : default 分支;
8 }
9

switch结构

  循环结构

   1)for循环

    for(【循环变量初始化】; 【循环变量的条件判断】; 【循环变量的改变】) { // 循环体语句…….}

  2) while()循环

       While(【循环变量的条件判断】){ //循环体语句…….      【循环变量的改变】 }

  3) do..while()循环

    do {  //循环体语句…….      【循环变量的改变】    }while(【循环变量的条件判断】)

  4) foreach()循环

  5) goto语句

    不能跳入循环中,不能跳入函数中,不能跳出函数外,不能跳出文件外

标识符2:
    语句1。。。。。
goto 标识符1;   //含义: 立即跳转到标识符1所在的位置    语句。。。
标识符1:
    语句。。。。
goto  标识符2;  //含义: 立即跳转到标识符2所在的位置

  循环中断

  1)break: 完全终止某个循环,让执行流程进入到循环语句后面的语句;
       2)continue: 停止当前正在进行的当次循环,而进入到循环的“下一次”过程中去;

  3)中断“更多层”的循环; 指的是从当前中断语句(break 或continue)算起,往代码的“外部”数循环的个数,就是层数

    break  正整数n;   如: break 1;
    continue  正整数n;  如: continue 2;

for(…) {     //循环1
    for(..) {   //循环2 
        for(..) {   //循环3
            break 2;    //此时会中断循环2;  其实只中断“2层”
                    //对此break语句,循环3是其“第1层”,循环2是其“第2层”,循环1是其“第3层”               }                continue 2;    //此时会中断循环1;  其实只中断“2层”
                   //对此continue语句,循环2是其“第1层”,循环1是其“第2层”         }
}

  流程控制另外一种写法

1 if(…):  ……     endif;
2 if(…):  ……  else: ……  endif;
3 if(…):  ……elseif(…):   ……elseif(…):   ……else:  ……   endif;
4 switch(…):case  ……  case  ……  endSwitch;
5 while(…): ……  endwhile;
6 for(…;    … ; …):  ……  endfor;

                         

  控制脚本执行

    1) die('字符串');  输出该字符串后,立即停止PHP的执行!

    2) exit('字符串'); 输出该字符串后,立即停止PHP的执行!

    3)   sleep($num);      让程序停止运行指定的秒数。等待过了$num秒后,继续执行。 

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

 PHP的环境搭建 的方法

以上是PHP基本语法的介绍的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
PHP如何識別用戶的會話?PHP如何識別用戶的會話?May 01, 2025 am 12:23 AM

phpIdentifiesauser'ssessionSessionSessionCookiesAndSessionId.1)whiwsession_start()被稱為,phpgeneratesainiquesesesessionIdStoredInacookInAcookInAcienamedInAcienamedphpsessIdontheuser'sbrowser'sbrowser.2)thisIdallowSphptpptpptpptpptpptpptpptoretoreteretrieetrieetrieetrieetrieetrieetreetrieetrieetrieetrieetremthafromtheserver。

確保PHP會議的一些最佳實踐是什麼?確保PHP會議的一些最佳實踐是什麼?May 01, 2025 am 12:22 AM

PHP會話的安全可以通過以下措施實現:1.使用session_regenerate_id()在用戶登錄或重要操作時重新生成會話ID。 2.通過HTTPS協議加密傳輸會話ID。 3.使用session_save_path()指定安全目錄存儲會話數據,並正確設置權限。

PHP會話文件默認存儲在哪裡?PHP會話文件默認存儲在哪裡?May 01, 2025 am 12:15 AM

phpsessionFilesArestoredIntheDirectorySpecifiedBysession.save_path,通常是/tmponunix-likesystemsorc:\ windows \ windows \ temponwindows.tocustomizethis:tocustomizEthis:1)useession_save_save_save_path_path()

您如何從PHP會話中檢索數據?您如何從PHP會話中檢索數據?May 01, 2025 am 12:11 AM

ToretrievedatafromaPHPsession,startthesessionwithsession_start()andaccessvariablesinthe$_SESSIONarray.Forexample:1)Startthesession:session_start().2)Retrievedata:$username=$_SESSION['username'];echo"Welcome,".$username;.Sessionsareserver-si

您如何使用會議來實施購物車?您如何使用會議來實施購物車?May 01, 2025 am 12:10 AM

利用會話構建高效購物車系統的步驟包括:1)理解會話的定義與作用,會話是服務器端的存儲機制,用於跨請求維護用戶狀態;2)實現基本的會話管理,如添加商品到購物車;3)擴展到高級用法,支持商品數量管理和刪除;4)優化性能和安全性,通過持久化會話數據和使用安全的會話標識符。

您如何在PHP中創建和使用接口?您如何在PHP中創建和使用接口?Apr 30, 2025 pm 03:40 PM

本文解釋瞭如何創建,實施和使用PHP中的接口,重點關注其對代碼組織和可維護性的好處。

crypt()和password_hash()有什麼區別?crypt()和password_hash()有什麼區別?Apr 30, 2025 pm 03:39 PM

本文討論了PHP中的crypt()和password_hash()的差異,以進行密碼哈希,重點介紹其實施,安全性和對現代Web應用程序的適用性。

如何防止PHP中的跨站點腳本(XSS)?如何防止PHP中的跨站點腳本(XSS)?Apr 30, 2025 pm 03:38 PM

文章討論了通過輸入驗證,輸出編碼以及使用OWASP ESAPI和HTML淨化器之類的工具來防止PHP中的跨站點腳本(XSS)。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具