PHP脚本语言 什么是PHP PHP基础语法 超全局变量 魔术变量 echo 和 print

PHP脚本语言

PHP简介

什么是PHP

  • PHP 是 “PHP Hypertext Preprocessor” 的首字母缩略词
  • PHP 是一种被广泛使用的开源脚本语言
  • PHP 脚本只能在服务器上执行
  • PHP 没有成本,可供免费下载和使用

什么是PHP文件:

  • PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码
  • PHP 代码在服务器上执行,而结果以纯文本返回浏览器
  • PHP 文件的后缀是 “.php”

PHP能够做什么:

  • PHP 能够生成动态页面内容
  • PHP 能够创建、打开、读取、写入、删除以及关闭服务器上的文件
  • PHP 能够接收表单数据
  • PHP 能够发送并取回 cookies
  • PHP 能够添加、删除、修改数据库中的数据
  • PHP 能够限制用户访问网站中的某些页面
  • PHP 能够对数据进行加密

PHP基础语法

  • PHP 脚本以 <?php 开头,以 ?> 结尾。

  • .php脚本语言双引号和单引号需要区分开。

  • php和js语法有区别,js的语法叫做点语法,php语法叫做箭头语法。

        // obj.a.c js
        // obj->a php
    
  • 在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感,但是,所有变量都对大小写敏感。

  • PHP 中的注释

    • 单行注释 // #
    • 多行注释 /* 。。。 */
  • 头部响应 header(“content-type:text/html;charset=utf-8”);

    请求头,响应头
    // 前端或者客户端向服务端发送的消息叫做请求
    // 服务端向前端或者客户端返回的消息叫做响应
    // 每一段消息再消息发送前都需要先发送一个消息头
    // 如果是响应消息发送的叫做响应头,请求发送的消息叫做请求头
    

变量的定义

  • 变量以 $ 符号开头,其后是变量的名称

  • 变量名称必须以字母或下划线开头,不能以数字开头

  • 变量名称只能包含字母数字字符和下划线

  • 变量名称对大小写敏感($a 与 $A 是两个不同的变量)

    $A=3; $a=5;  
    //$a 与 $A 是两个不同的变量
    function change_num(){
    // 函数的名称不区分大小写,函数名不能使用驼峰式命名,使用_区分单词
         }
    change_num();
    

变量的作用域

  • 函数内的变量是局部变量,函数外的变量是全局变量

  • 函数外不能访问到局部变量

  • 全局变量也不能在函数内访问

    <?php
    	$b=3
    	function abc(){
            $a=5;//局部变量
            echo $a;//5
            echo $b; //报错
        }
        abc();
        echo $a;//报错
    ?>
    
  • 使用 $GLOBALS[ ] 在函数内部访问全局变量

    $a=10;
    function change_num(){
    	// echo $GLOBALS["a"];//全局变量a
    	global $a;
        //没有使用global $a是局部的,当使用global后.都是全局的
    	echo $a;  //10
    }   
     change_num();
    

超全局变量

  • $GLOBALS,在函数内部访问全局变量

  • $_SERVER,这种超全局变量保存关于报头、路径和脚本位置的信息。

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

  • $_POST,用于收集提交 method=“post” 的 HTML 表单后的表单数据。

  • $_GET,用于收集提交 method=“get” 的 HTML 表单后的表单数据。

  • $_FILES,从客户计算机向远程服务器上传文件。

  • $_ENV,通过环境方式传递给当前脚本的变量的数组。例如当前计算机名称

  • $_COOKIE,变量用于取回 cookie 的值。

  • $_SESSION,存储和取回 session 变量。

    //html表单
    <form action="http://192.168.1.3:4001/c.php" method="GET">
            <input type="text" name="user">
            <input type="password" name="password">
            <input type="radio" name="sex" value="男" checked>
            <input type="radio" name="sex" value="女">
            <input type="submit" value="提交">
       </form>
    //php获取表单内容
    <?php
    header("content-type:text/html;charset=utf-8");
       //print_r($_GET);  //打印数组
      echo "用户名:".$_GET["user"];
      echo "<br>";
      echo "密码:".$_GET["password"];
      echo "<br>";
      echo "性别:".$_GET["sex"];
      echo "<br>";
    ?>   //密码:2222   性别:男
    

魔术变量

  • LINE,返回当前代码在php中的行数,用于调试php脚本

  • FILE,返回当前文件的完整路径(绝对路径)

  • FUNCTION,返回当前函数的函数名

  • CLASS,返回当前的类名

  • //写服务端日志log

    echo __LINE__;    //打印出当前所在的行数
    echo __FILE__;      //写服务端日志log
    

变量命名要避免的关键字

  • 共有85个关键字,这些关键字都会实现一些功能

    and  or  xor  __FILE__ extends  __LINE__  array()  as  break  case  class  const
     continue declare  default  die()  do  echo  else  elseif  empty()  enddeclare 
      endfor  endforeach  endif endswitch  endwhile  eval()  exit()  extends  for  
      foreach  function  global  if  include include_once  isset()  list()  new  print 
       require  require_once  return  static  switch  unset() use  var  while
         __FUNCTION__  __CLASS__  __METHOD__
    final(PHP 5)  php_user_filter(PHP 5)  interface(PHP 5)  implements(PHP 5)  
    exception(PHP 5) public(PHP 5)  private(PHP 5)  protected(PHP 5)  abstract(PHP 5) 
     clone(PHP 5)  try(PHP 5) catch(PHP 5)  throw(PHP 5) this(PHP 5 only)
    

打印输出 echo 和 print

  • echo 和 echo() 相同,相当于 javascript 中的 document.write

  • echo 和 echo() 都可以打印多个内容

  • print 或 print()相同

  • print 不能打印多个内容,print 打印成功的话,返回1,打印失败的话,返回0,而 echo 不返回值

    echo "a";    //a
    print "a";    //a
    //print echo "a";  报错
    //echo print "a";    a1
    //print 回返回1,echo不返回值
    if(print "a"){
    	echo "abc";   //aabc
     } 
    
  • print_r 只能打印数组

    $arr=[1,2,3,4,5];
    // echo $arr;  报错
    print_r($arr);  //Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
    
  • var_dump 打印结果和变量类型

    $a=10;
    var_dump($a); //打印和内容  int(10)
    var_dump($arr); //array(5) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> int(4) [4]=> int(5) }
    

条件语句和循环

  • 条件语句中,除了 elseif 之间没有空格外,其他都跟 javascript 一致。

    <?php
    	$a=10;
    	if($a<10){
    		//....
    	}elseif($a==10){
    		//....
    	}else{
    		//....
    	} 
    ?>
    

for 和 foreach

  • php中数组分为索引型数组和关联型数组。

  • 索引型数组类似 javascript 中的数组结构,用 for 来遍历,数组的长度用 count( ) 来获取

    $arr=[1,2,3,4,5];
    $arr1=array("name"=>"zhangsan","sex"=>"男");
    for($i=0;$i<count($arr);$i++){
    	echo $arr[$i];
    }
    //关联型数组类似 javascript 中的对象结构,用 foreach 来遍历
    foreach($arr1 as $key=>$value){
    	 echo $key.":".$value;
    	 echo "<br>";
    }
    

判断类型

​ is_int() 是不是整型;
​ is_bool()是不是布尔值;
​ is_string()是不是字符串;
​ is_array()是不是数组类型;
​ is_double()是不是浮点数;

  • 随机数 mt_rand(min,max)

案列 打印表格

<?php
    $arr=[];
    array_push($arr,array("id"=>1001,"name"=>"电脑1","price"=>4000,"num"=>5,"total"=>20000));
    array_push($arr,array("id"=>1002,"name"=>"电脑2","price"=>3000,"num"=>6,"total"=>18000));
    array_push($arr,array("id"=>1003,"name"=>"电脑3","price"=>2000,"num"=>4,"total"=>8000));
    array_push($arr,array("id"=>1004,"name"=>"电脑4","price"=>1000,"num"=>2,"total"=>2000));
    array_push($arr,array("id"=>1005,"name"=>"电脑5","price"=>5000,"num"=>1,"total"=>5000));
    array_push($arr,array("id"=>1006,"name"=>"电脑6","price"=>6000,"num"=>3,"total"=>18000));
    
    echo "<table>";
    for($i=0;$i<count($arr);$i++){
        echo "<tr>";
        foreach($arr[$i] as $key=>$value){
            echo "<td>{$value}</td>";
        }
        echo "</tr>";
    }
    echo "</table>";
?>

在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值