PHP简单语法

情到浓时终转凉″ 提交于 2020-02-06 11:54:37

PHP 是一种被广泛使用的开源脚本语言
PHP 脚本只能在服务器上执行
PHP 没有成本,可供免费下载和使用

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

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

基础PHP语法

PHP 脚本以 <?php 开头,以 ?> 结尾
在 PHP 中,所有用户定义的函数、类和关键词(例如 if、else、echo 等等)都对大小写不敏感,但是,所有变量都对大小写敏感。
PHP 中,每一句语法结束后都需要加 ;

<?php
	//header()响应头,服务端告诉客户端先要做什么
	header("content-type:text/html;charset=utf-8");
    echo "Hello World";
    //单行注释
    #单行注释
    /*
		多行注释
	*/
	$a=3;
	$A=5;//变量名区分大小写
	
	$arr=array("a"=>10,"b"=>20);//相当于js中的arr=["a":10,"b":20]
?>`

变量的定义

变量以 $ 符号开头,其后是变量的名称
变量名称必须以字母或下划线开头,不能以数字开头
变量名称只能包含字母数字字符和下划线
变量名称对大小写敏感($a 与 $A 是两个不同的变量)

<?php
	$a=10;
	$A=9;//变量名称区分大小写
	static $b=5;//静态变量,当函数执行完后,不对将其删除
?>

变量作用域

函数内的变量是局部变量,函数外的变量是全局变量
函数外不能访问到局部变量
全局变量也不能在函数内访问

<?php
	function abc(){
        $a=10;//局部变量
        echo $a;//10
    }
    abc();
    echo $a;//报错
?>


$a=20;//全局变量
	function abc(){
        echo $a;//报错
    }
    abc();
    echo $a;//20


可以使用 $GLOBALS[ ] 在函数内部访问全局变量

<?php
	$a=15;//全局变量
	function abc(){
        echo $GLOBALS["a"];//15
    }
    abc();
    echo $a;//15
?>

global $ a,这样设置后$a从局部变量变为全局变量,则函数内部和全局中都可以访问到该变量
注意:要先 global 声明变量,再对变量进行赋值。

<?php
	$a=5;
	function abc(){
        global $a;
        $a=20;
        echo $a;//20
    }
    abc();
    echo $a;//20,变量被重新赋值了
?>

通常,当函数完成/执行后,会删除所有变量,如果该变量定义为静态变量,函数运行后不清除,下次访问时不执行该定义行
function abc(){
static $a=5;
$a++;
echo $a;
}
abc();//6
abc();//7
abc();//8

超全局变量

$GLOBALS,在函数内部访问全局变量
$_SERVER,这种超全局变量保存关于报头、路径和脚本位置的信息。
$_REQUEST,用于收集 HTML 表单提交的数据。
$_POST,用于收集提交 method=“post” 的 HTML 表单后的表单数据。
$_GET,用于收集提交 method=“get” 的 HTML 表单后的表单数据。
$_FILES,从客户计算机向远程服务器上传文件。
$_ENV,通过环境方式传递给当前脚本的变量的数组。例如当前计算机名称
$_COOKIE,变量用于取回 cookie 的值。
$_SESSION,存储和取回 session 变量。

<?php
	echo $_GET["color"];
    echo $_POST["color"];
    echo $_REQUEST["color"];
    //$_GET $_POST $_REQUEST 的值默认是数组类型
?>

魔术变量

LINE,返回当前代码在php中的行数,用于调试php脚本
FILE,返回当前文件的完整路径(绝对路径)
FUNCTION,返回当前函数的函数名
CLASS,返回当前的类名

<?php
    echo __LINE__;//打印出当前所在的行数
    
	function abc(){
        echo __FUNCTION__;//abc
    }
    abc();
?>

echo 和 echo() 相同,相当于 javascript 中的 document.write
echo 和 echo() 都可以打印多个内容

<?php echo "a","
","b"; echo("a","
","b"); //js访问php中的变量 $a=10; echo "
"; echo ""; ?> <?php $a=5; $b=6; $arr=array("a"=>10,"b"=>20); echo $a+$b;//11; echo $a.$b;//56; echo "这些数字是{$arr['b']}";//这些数字是20 echo "这些数字是".$arr["b"];//这些数字是20 ?>

条件语句和循环

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

<?php
	for($i=0;$i<100;$i++){
		//......
	}



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

for 和 foreach

php中数组分为索引型数组和关联型数组。
索引型数组类似 javascript 中的数组结构,用 for 来遍历,数组的长度用 count( ) 来获取

<?php
	$arr=array(3,4,5,6,7);
	for($i=0;$i<count($arr);$i++){
		echo $arr[$i];//3 4 5 6 7
		echo "<br>";
	}
?>

关联型数组类似 javascript 中的对象结构,用 foreach 来遍历

$obj=array("name"=>"xiaoming","age"=>18,"sex"=>"男");
	//可以同时遍历key和vlaue
	foreach($obj as $key=>$value){
		echo $key,"=",$value;//name=xiaoming age=18 sex=男
		echo "<br>";
	}

	//也可以只遍历value
	foreach($obj as $value){
		echo $value;//xiaoming 18 男
	}

print 或 print()相同

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

    print "a";
    print("a");
    print "a","b";//会报错,print不能打印多个
    echo print "a";//a1

print_r 只能打印数组

$arr=array("a"=>10,"b"=>20);
    print_r($arr);//Array ( [a] => 10 [b] => 20 ) 

var_dump 打印结果和变量类型

$a=5;
   $b=6;
   $arr=array("a"=>10,"b"=>20);
   var_dump($a);//int(5)
   var_dump($arr);//array(2) { ["a"]=> int(10) ["b"]=> int(20) } 
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!