PHP基础语法收集整理

PHP 投稿 65800 0 评论

PHP基础语法收集整理

PHP代码在服务器端执行,PHP中所有变量都对大小写敏感。

变量

变量规则

  • 变量以 $ 符号开始,后面跟着变量的名称

  • 变量名必须以字母或者下划线字符开始

  • 变量名只能包含字母数字字符以及下划线(A-z、0-9 和 _ )

  • 变量名不能包含空格

  • 变量名是区分大小写的($y 和 $Y 是两个不同的变量)

  • 注意:

    PHP 是一门弱类型语言,PHP 会根据变量的值,自动把变量转换为正确的数据类型。

    在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。

变量作用域

变量的作用域是脚本中变量可被引用/使用的部分。

有四种不同的变量作用域:

1、local

2、global

用于函数内访问全局变量。

函数内访问全局变量需要 global 关键字或者使用 $GLOBALS[index] 数组

<?php
   $a=5;
   $b=3;
   function t1() {  
     global $a,$b;
     echo $a-$b;// 输出 2
   }
   t1();   
   echo PHP_EOL; 
   function t2()    {
     echo $GLOBALS['a']-$GLOBALS['b'];// 输出 2
   }
   t2();
?>

3、static

当一个函数完成时,它的所有变量通常都会被删除。但有时候希望某个局部变量不要被删除,则需要在第一次声明变量时使用 static 关键字,这样每次调用该函数时,该变量将会保留着函数前一次被调用时的值。

注释:该变量仍然是函数的局部变量。

<?php   
    function myTest() { 
        static $x=0;
        echo $x;
        $x++;
        echo PHP_EOL; // 换行符
    }
    myTest(); //输入 0 
    myTest(); //输入 1 
    myTest(); //输入 2
?>

4、parameter(参数作用域)

参数是通过调用代码将值传递给函数的局部变量。

内容输出

  • echo:输出简单数据类型,如字符串、数值

  • print_r():输出复杂数据类型,如数组

  • var_dump():输出详细信息,如对象、数组

字符串拼接

  • js中字符串拼接用+;php中字符串拼接用.

  • strlen() 函数返回字符串的长度(字节数)

  • strpos() 函数用于在字符串内查找一个字符或一段指定的文本。

    如果在字符串中找到匹配,该函数会返回第一个匹配的字符位置。如果未找到匹配,则返回 FALSE。

单引号与双引号

  • 单引号中的变量会当作普通字符串处理

  • 双引号中的变量会解析为变量值

数据类型

  • 字符串

  • 整型

  • 浮点型

  • 布尔型

  • 数组

  • NULL

<?php
   $x = "Hello world!"; 
   $x = 5985;
      $x = -345; // 负数 
   $x = 0x8C; // 十六进制数
   $x = 047; // 八进制数
   $x = 10.365;
   $x = 2.4e3;
   $x = 8E-5;
   $x = true;
   $x = array("Volvo","BMW","Toyota");
   $x = null;
   var_dump($x)  //返回变量的数据类型和值
?>
  • 对象

对象数据类型也可以用于存储数据。

在 PHP 中,对象必须声明,使用class关键字声明类对象。类是可以包含属性和方法的结构。类中定义数据类型,然后在实例化的类中使用数据类型。

<?php
   class Car {        
       var $color;        
       function __construct($color="green") {          
           $this->color = $color;
       }        
       function what_color() {    
           return $this->color;
       }
   }
   function print_vars($obj) {   
       foreach (get_object_vars($obj) as $prop => $val) {
           echo "$prop = $val";
       }
   }
   // 实例一个对象
   $herbie = new Car("white");
   print_vars($herbie);
?>

条件语句

  • if 语句 - 在条件成立时执行代码

  • if...else 语句 - 在条件成立时执行一块代码,条件不成立时执行另一块代码

  • if...elseif....else 语句 - 在若干条件之一成立时执行一个代码块

  • switch 语句 - 在若干条件之一成立时执行一个代码块

elseif 和 else if 完全同效果,elseif 是 PHP 为 else if 专门做到容错版。更准确更严格到写法为后者: else if

数组

array() 函数 ----- 创建数组

数值数组

带有数字 ID 键的数组

<?php
   //两种创建数值数组的方法:
   // 1.自动分配 ID 键(ID 键总是从 0 开始):
   $cars = array("Volvo","BMW","Toyota"); // 2.人工分配 ID 键:
   $cars[0] = "Volvo";
   $cars[1] = "BMW";
   $cars[2] = "Toyota"; //获取数组的长度 
   echo count($cars); //遍历 -- for循环
   for($i =0; $i<count($cars); $i++){  
       echo $age1[$i];
       echo "<br/>";
   }
?>

关联数组

带有指定的键的数组,每个键关联一个值

<?php
   //两种创建关联数组的方法:
   $age=array("Peter" => "35", "Ben" => "37", "Joe" => "43");
	
   $age['Peter'] ="35";
   $age['Ben'] = "37";
   $age['Joe'] = "43";
   echo $age['Peter'];  // 35

   //遍历 -- foreach循环
   foreach($age as $x => $x_value){  
     echo "Key=" . $x . ", Value=" . $x_value;
     echo "<br>";
   }
?>

多维数组

包含一个或多个数组的数组

<?php
   // 二维数组:
   $cars = array
   (
       array("Volvo",100,96),array("BMW",60,59),array("Toyota",110,100)
   );
   echo $cars[0][1]; // 100
?>

数组排序函数

PHP 数组排序函数:

  • sort() - 对数组进行升序排列

  • rsort() - 对数组进行降序排列

  • asort() - 根据关联数组的值,对数组进行升序排列

  • arsort() - 根据关联数组的值,对数组进行降序排列

  • ksort() - 根据关联数组的键,对数组进行升序排列

  • krsort() - 根据关联数组的键,对数组进行降序排列

<?php
    $cars=array("Volvo","BMW","Toyota");
    sort($cars);
    print_r($cars);  // Array ( [0] => BMW [1] => Toyota [2] => Volvo )

    $age = array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    asort($age);
    print_r($age); // Array ( [Peter] => 35 [Ben] => 37 [Joe] => 43 )

    age2 = array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
    ksort($age2);
    print_r($age); // Array ( [Ben] => 37 [Joe] => 43 [Peter] => 35 )
?>

超级全局变量

  • $GLOBALS

  • $_SERVER

  • $_REQUEST

  • $_POST

  • $_GET

  • $_FILES

  • $_ENV

  • $_COOKIE

  • $_SESSION

$_POST

  • $_POST 被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="post"。

<form action="login.php" method="post" >
	name: <input type="text" name="name" >
	password: <input type="password" name="pwd">
	<button type="submit">Login</button>
</form>

//login.php
<?php
	// 根据表单中name属性值获取
	$name = $_POST['name'];
	$pwd = $_POST['pwd'];
	echo $name;
	echo $pwd;

	//设置服务器响应的文件类型,字符集编码
	header("Content-Type:text/html; charset=utf-8");
?>

$_GET

  • $_GET 同样被广泛应用于收集表单数据,在HTML form标签的指定该属性:"method="get"。

  • $_GET 也可以收集URL中发送的数据。

<?php
        /*url: http://www.test.cc/?name=abc
        $_GET['name'] 得到url地址中传递的参数name的值
        */
        $name = $_GET['name'];
        echo $name;
?>

循环

  • while - 只要指定的条件成立,则循环执行代码块

  • do...while - 首先执行一次代码块,然后在指定的条件成立时重复这个循环

  • for - 循环执行代码块指定的次数

  • foreach - 根据数组中每个元素来循环代码块

<?php
    // 使用for循环,实现冒泡排序:
    $arr = array(5,3,6,2,8,10);
    for($i = count($arr)-1;$i>=0;$i--){ 
        for($j = 0 ; $j < $i ; $j++){ 
          if($arr[$j+1] > $arr[$j] ){
            $aa = $arr[$j+1];
          $arr[$j+1] = $arr[$j];
          $arr[$j] = $aa;
        }
      }
    }
    print_r($arr);
?>

函数

自定义函数

  • 语法规则(函数名不区分大小写)

<?php
	function foo($name){
	    return $name;
	}
 	$name = foo('zhangsan');
 	echo $name;
?>

系统函数(内置函数)

  • gettype()

  • json_encode()

编程笔记 » PHP基础语法收集整理

赞同 (102) or 分享 (0)
游客 发表我的评论   换个身份
取消评论

表情
(0)个小伙伴在吐槽