PHP(超文本预处理器)
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
一、PHP基础语法
php标记
- 1.<?php echo "hello php";?>
- 2.<?echo "hello php";?> //短标记
- 3.<script language= "php">echo "hello php"</script>
- 4.<%echo "hello php";%> //asp风格
注:1,3可以直接使用,2,4需要修改php.ini的配置文件才能使用。
php注释
1.多行注释
/* 注释内容 */
2.单行注释
//注释内容
3.文本注释
/*
*被注释内容
*/
变量
声明
- 变量以$开头,后面跟变量名
- 字母,数字,下划线组成,不以数字开头
- 变量名区分大小写
- php是弱类型语言,不需要实现声明变量的数据类型
例:
<?php
$age = 22;
$color = "red";
?>
赋值
- 值赋值:将赋值表达式的值赋值给变量(直接赋值)
- 引用赋值:php4引用了引用赋值,创建的一个变量与另一个变量引用的内容相同
例:
<?php
$var_1 = "hello";
$var_2 = &$var_1;//把变量var_1的内存地址赋值给var_2,即引用赋值
?>
变量的变量
<?php
$var_1 = "hello";
$$var_1 = “world”;
echo $var_1; //输出hello
echo $hello; //输出world
echo ${$var_1};//输出world
?>
超全局变量
- php有很多内置变量,提供了大量与环境有关的信息
- 打印/输出超全局变量:
parent_r($_SERVER);
(1).$_SERVER 服务器变量;
<?php
echo $_SERVER['SERVER_NAME'];//当前所在服务器的主机名
echo $_SERVER['REMOTE_ADDR'];//客户端IP地址
echo $_SERVER['REQUEST_URI'];//URI的路径部分
echo $_SERVER['HTTP_USER_AGENT'];//操作系统和浏览器的有关信息
?>
(2).$_GET 表单get传递方法的参数的有关信息;
<?php
$id = $_GET['id'];
$page = $_GET['page'];
?>
(3).$_POST 表单post传递方法的参数的有关信息;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style media="screen">
form {
text-align: center;
}
</style>
</head>
<body>
<form class="" action="index2.php" method="post">
<div class="">
用户名: <input type="text" name="name">
</div>
<div class="">
密码: <input type="password" name="pwd">
</div>
<div class="">
<input type="submit" value="提交">
</div>
</form>
</body>
</html>
//php文件写在另一个文件内 form表单内action的地址为php文件的地址
<?php
print_r($_POST);//打印超全局变量
echo "<br>";
foreach ($_POST as $key => $value) {
// echo $value;
$$key = $value;
}
// echo $name;
// echo "<br>";
// echo $pwd;
if ($name == 123 && $pwd == 000) {
echo "恭喜登录成功!!!!";
} else {
echo "用户名无效 或 密码错误!!";
}
?>
注:$_REQUEST 该变量记录通过各种输入方法传递给脚本的变量,如GET POST,但一般不用它,因为不安全而且速度慢。
补充
$_COOKIE // cookie变量数组
$_SESSION //护花变量数组
$_FILES // 与上传文件有关的变量数组
$_ENV //环境变量数组
$_GLIBALS //所有全局变量数组
常量
定义
- 在程序执行中无法修改的值;
- 对大小写敏感,通常常量名大写;
- 是全局的,可以在脚本的任何地方引用;
- 分为内置变量和自定义变量;
- 使用define()函数定义;
<?php
// 内置常量
echo PHP_OS; //所在操作系统的名称
echo PHP_VERSION;// 当前php的版本号
// 魔术常量
echo "<hr/>";
echo __LINE__;//文件中的当前行数
echo __FILE__;//文件完整路径和文件名
__CLASS__;//类名
__FUNCTION__;//函数名
__METHOD__;//类的方法名
?>
数据类型
- 字符串
字符串有单重定义方式:单引号,双引号,定界符;
php 中,双引号带有变量解析功能
单引号为纯字符串
双引号解析变量的时候,可以使用 {} 括起变量名
定界符 "<<<"
$str = <<<AAA
Example of string using heredoc syntax.
AAA;
echo $str;
注: 使用定界符开始的三个字母必须与结束的三个字母相等,结束的三个字母与分号必须独占一行,前后都不能有空格或字符。
- 整型
- 浮点型
- 布尔型
复合数据类型
- 数组
$week = array('星期一','星期二','星期三');
- 对象
$db = new db;
特殊数据类型
- 资源
$fh = fopen("test.txt","r");
- null
null 无,表示没有值,null不表示空格,也不表示0;使用函数unset()清除;
测试:
<?php
$abc = false; // false
$abc = 1; // true
$abc = -1; // true
$abc = 0; // false
$abc = null; // false
$abc = "haha"; // true
$abc = ""; // false
if ($abc) {
echo "hahhahahhah";
}
?>
特殊数据类型
- gettype()返回变量的类型,共8种可能 string、integer、float、boolean、array、object、null、unknow
$str = "hello";
echo gettype($str); //返回string
- is_type()查看变量是否属于某个类型,是返回true,否返回false;
$age = array(134, 134, 45, 24);
echo is_string($age);//返回true
- var_dump() 获取变量的值和类型的详细信息
$age = "haha";
var_dump($age);//返回string(4) "haha"