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() 都可以打印多个内容
","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) }
来源:CSDN
作者:不会说话的爱情
链接:https://blog.csdn.net/weixin_45348067/article/details/104191836