一、PHP语言基础
一种创建动态交互性站点的、强有力的服务器端脚本语言。
1.PHP文件格式
一个完整的PHP文件由HTML标记、PHP标记、PHP代码、注释和空格等元素构成。
<Html>
<head>
<title>Hello World!</title>
</head>
<body>
<?php
//输出Hello,World
echo "Hello,World";
?>
</body>
</html>
2.php标记
- <?php···?>
- <?···?>
- <script language=php>···</script>
- <%···%>
3.PHP语法与注释
php完整代码,需要加;
控制语句,不需要加;
单行代码
if(a==b)
echo "a=b";
多行 代码
if(a==b)
{
echo "a=b";
echo "php";
}
二、变量和常量
1.变量的命名
- 区分大小写;
- 必须以美元符号($)开始;
- 由字母、数字、下划线、字符组成;
- 不能以数字字符开头;
- 不能包含空格。
2.变量的赋值
直接赋值
<?php
$myname="James"; //给变量$myname直接赋值
$yourname=$myname; //使用$myname初始化$yourname
$myname="Jeffery"; //改变变量$myname的值
echo $yourname; //输出变量$yourname的值
?>
James
引用赋值
<?php
$myname="James"; //给变量$myname直接赋值
$yourname=&$myname; //使用引用赋值,此时$yourname的值为"James"
$myname="Jeffery"; //改变变量$myname的值,此时$yourname的值为" Jeffery "
echo $yourname; //输出变量$yourname的值
?>
Jeffery
3.可变变量
<?php
$change_name = "temp"; //声明变量$change_name
$temp = "You can see me!"; //声明变量$temp
echo $change_name ; //输出变量$change_name,输出temp
echo " " ; //输出两个空格, 是一个空格的代码
/*
通过可变变量输出$temp的值,因为$change_name变量存的字符串为“temp”,
所以$$change_name相当与变量$temp。
最终输出结果为: temp You can see me!
*/
echo $$change_name ;
?>
4.预定义变量
$GLOBALS
:这是一个包含全局作用域中所有变量的数组。这意味着你可以在函数内部访问在全局作用域中定义的变量。$_SERVER
:这个变量包含了有关当前脚本的服务器和执行环境的信息。例如,你可以使用$_SERVER['PHP_SELF']
来获取当前脚本的文件名,或使用$_SERVER['REQUEST_METHOD']
来获取请求的方法(GET、POST等)。$_GET
:这个变量是一个数组,包含了通过URL的查询字符串传递给当前脚本的变量。例如,在URLexample.com/script.php?name=John&age=30
中,$_GET['name']
的值将是"John",$_GET['age']
的值将是"30"。$_POST
:这个变量也是一个数组,包含了通过HTTP POST方法传递给当前脚本的变量。这通常用于提交表单数据。$_REQUEST
:这个变量包含了$_GET
、$_POST
和$_COOKIE
的所有信息。这意味着你可以从$_REQUEST
中访问通过GET、POST或Cookie方法传递的变量。$_COOKIE
:这个变量包含了通过HTTP Cookies传递给当前脚本的变量。Cookies通常用于跟踪用户会话或存储用户偏好。$_SESSION
:这个变量包含了当前会话中的变量。会话数据在用户浏览网站的不同页面时保持可用,通常用于存储用户的身份验证信息或临时数据。$_FILES
:这个变量包含了通过POST方法上传到服务器的文件信息。当你使用<input type="file">
元素上传文件时,你可以从$_FILES
中获取有关上传文件的详细信息。$_ENV
:这个变量包含了通过环境变量传递给当前脚本的变量。这些环境变量可能由服务器或操作系统设置。
5.常量的声明和使用
在PHP中使用define()函数来定义常量,
bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )
$name
:常量的名称,即标识符。$value
:常量的值。$case_insensitive
:(可选)指定常量的名称是否对大小写不敏感。默认为false
,表示对大小写敏感。-
返回值:如果常量定义成功,则返回
true
;如果常量已经定义或无法定义,则返回false
。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>常量的申明和使用</title>
</head>
<body>
<?php
define ("PI","3.1415926");
echo PI."<BR>"; //输出常量MESSAGE
echo Pi."<BR>"; //输出"Message",表示没有该常量
define ("COUNT","大小写不敏感的字符串",true);
echo COUNT."<BR>"; //输出常量COUNT
echo Count."<BR>"; //输出常量COUNT,因为设定大小写不敏感
$name = "count";
echo constant ($name)."<BR>"; //输出常量COUNT
echo (defined ("PI"))."<BR>"; //如果定义返回True,使用echo输出显示1
?>
</body>
</html>
6.预定义常量
- 文件与目录相关常量:
__LINE__
:表示当前代码行号的常量。__FILE__
:表示当前代码所在文件的完整路径和文件名的常量。__DIR__
:表示当前代码所在文件的目录。
- 函数与类相关常量:
__FUNCTION__
:返回当前函数的名称(在函数内部使用)。__CLASS__
:返回当前类的名称(在类的内部使用)。__TRAIT__
:返回 trait 的名字(在 trait 被使用的时候)。__METHOD__
:返回当前类的方法名(在类的内部使用)。__NAMESPACE__
:返回当前命名空间的名称(在命名空间的内部使用)。
- 数据库相关常量:
PGSQL_CONV_FORCE_NULL(int)
:传递给pg_convert()
。PGSQL_CONV_IGNORE_NOT_NULL(int)
:传递给pg_convert()
。PGSQL_DML_NO_CONV(int)
:传递给pg_insert()
、pg_select()
、pg_update()
和pg_delete()
。所有参数按原样传递。PGSQL_DML_ASYNC(int)
:传递给pg_insert()
、pg_select()
、pg_update()
和pg_delete()
。PGSQL_DML_STRING(int)
:传递给pg_insert()
、pg_select()
、pg_update()
和pg_delete()
。PGSQL_DML_ESCAPE(int)
:传递给pg_insert()
、pg_select()
、pg_update()
和pg_delete()
。
- OAuth相关常量:
OAUTH_HTTP_METHOD_POST(string)
:为OAuth请求使用POST方法。OAUTH_HTTP_METHOD_PUT(string)
:为OAuth请求使用PUT方法。OAUTH_HTTP_METHOD_HEAD(string)
:为OAuth请求使用HEAD方法。OAUTH_REQENGINE_STREAMS(int)
:使用OAuth::setRequestEngine()
来设置引擎为PHP流。OAUTH_BAD_NONCE(int)
:oauth_nonce值已经用于上一个请求,因此现在不能使用了。OAUTH_TOKEN_USED(int)
:oauth_token已经被消费。OAUTH_TOKEN_REJECTED(int)
:oauth_token被服务提供者拒绝。
- 排序相关常量:
SORT_ASC(int)
:用在array_multisort()
函数中,使其升序排列。SORT_DESC(int)
:用在array_multisort()
函数中,使其降序排列。SORT_REGULAR(int)
:用于对对象进行通常比较。SORT_NUMERIC(int)
:用于对对象进行数值比较。SORT_STRING(int)
:用于对对象进行字符串比较。SORT_LOCALE_STRING(int)
:基于当前区域来对对象进行字符串比较。SORT_NATURAL(int)
:用于对元素作为字符串使用“自然排序”(像是natsort()
)比较。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>预定义常量</title>
</head>
<body>
<?php
echo "当前文件路径: ".__FILE__;
echo "<br>当前行数:".__LINE__;
echo "<br>当前PHP版本信息:".PHP_VERSION;
echo "<br> 当前操作系统: ".PHP_OS ;
?>
</body>
</html>