PHP是PHP:HypertextPreprocessor(超文本预处理器)的首字母缩写,是一种跨平台的、开源的、免费的脚本语言,其语法吸收了C语言、Java 和 Perl 的特点,利于学习,使用广泛,特别适合于Web网站开发,它可以嵌入HTML中。
PHP 文件能够包含文本、HTML、CSS 以及 PHP 代码必须在服务器上执行,而结果以纯文本返回浏览器,文件的后缀是”.php”。
PHP:Hypertext Preprocessor
(简称:PHP)系统 | 集成工具 | 编辑器 |
---|---|---|
windows | phpStudy/phpEnv/upupw | vscode/sublime/netbeans |
macos | mamp / xampp | vscode/sublime/netbeans |
php使用标记符来标记代码的开始或结束。
// 默认标准
<?php //开始标记符
phpinfo();
?> //结束标记符
// 短标签 , 须php.ini配置文件short_open_tag开关打开。
<? echo "php学习" ?> // 如果只有一行语句或者是最后一行语句,分号可以省略
<?="php学习"?> // 短标签输出可以省略echo
将PHP嵌入到HTML中:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>将PHP嵌入到HTML中<?= "任意地方" ?></title>
</head>
<body>
<?php
/**
* 1. php 代码就像css,js一样可以使用标签方式直接嵌入到HTML文档中
* 2. php 代码使用的标签是: <?php …… ?>
* 3. web 服务器只会将PHP标签内部的代码发送给PHP引擎处理
* 4. html 文档中嵌入的PHP代码段的“数量”和“位置”不受限制
* 5. html 文档中存在PHP代码段时,扩展名必须是.php才可以
*/
?>
<h2>PHP语法</h2>
<h2>PHP语法</h2>
<p>how you doing?<?php echo $username;?></p>
<!-- php短标签 -->
<h1>你在干嘛<?= $username?></h1>
</body>
</html>
PHP 代码注释:
<?php
// 单行注释
# 单行注释 linux
/**
* 多行注释
* 多行注释
*/
?>
PHP 指令分隔符:
<?php
//结构定义语句
function add (int $a,int $b)
{
//功能执行语句
return $a+$b;
}
//功能执行语句
echo add(100,200);
//结构定义语句
class User {
}
//结构定义语句
interface USB{
}
?>
类型 | 成员 |
---|---|
基本类型 | 布尔,字符串,数值(整数和浮点数) |
复合类型 | 数组, 对象 |
特殊类型 | null, 资源, 回调,闭包 |
// JavaScript中定义数组
const cars = ["宝马3GT Xdrive 330li M闪耀灰","宝马X5 xdrive30i X","宝马750LI xdrive V8 M"];
// js for 遍历数组
for(var i=0;i<cars.length;i++){
console.log(i+"---"+cars[i]);
}
// js forEach
cars.forEach((car,index)=>console.log(index+"---"+car));
// php中定义数组
$cars = ["宝马3GT Xdrive 330li M闪耀灰","宝马X5 xdrive30i X","宝马750LI xdrive V8 M"];
// php for 遍历数组
for($i=0;$i<count($cars);$i++){
echo $i."---".$cars[$i]."</br>";
}
// php foreach遍历数组
foreach ($cars as $key => $value) {
echo $key."---".$value."</br>";
}
php 遍历创建html元素:
<h2><?ECHO '宝马BMW好车'?></h2>
<ol>
<li><a href=""><?echo '宝马3GT Xdrive 330li M闪耀灰'?></a></li>
<li><a href=""><?echo '宝马x5 xdrive30i X'?></a></li>
<li><a href=""><?echo '宝马750LI xdrive V8 M'?></a></li>
</ol>
<!-- 下面使用数组遍历来创建列表 -->
<? $cars = ["宝马3GT Xdrive 330li M闪耀灰","宝马X5 xdrive30i X","宝马750LI xdrive V8 M"]; ?>
<h2><? echo '宝马BMW好车'?></h2>
<ol>
<?php foreach($cars as $k =>$car){
echo '<li><a href="">'.$car.'</a></li>';
}
?>
</ol>
<!-- php模板语法 代替{} echo -->
<h2><? echo '宝马BMW好车'?></h2>
<ol>
<? foreach($cars as $car) :?>
<li><a href=""><?=$car?></a></li>
<?endforeach?>
</ol>
php引入文件的四种方法
1.include
包含并运行指定文件。被包含文件先按参数给出的路径寻找,如果没有给出目录(只有文件名)时则按照 include_path指定的目录寻找。如果在 include_path下没找到该文件则 include 最后才在调用脚本文件所在的目录和当前工作目录下寻找。
2.include_once
在脚本执行期间包含并运行指定文件,唯一区别是如果该文件中已经被包含过,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。
3.require
require 和 include几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include只产生警告(E_WARNING),脚本会继续运行。
4.require_once
require_once 语句和 require 语句完全相同,唯一区别是 PHP 会检查该文件是否已经被包含过,如果是则不会再次包含。
总结:
两者的不同:include引入如果该文件路径不正确或文件不存在出错时,还会继续执行下面的代码。require则不会继续执行程序。
include_once和include的区别:多个include引入同一文件,会加载多个文件,include_once只加载一次。可以有效地避免把同一段代码包含进去而出现函数或变量重复定义的错误。
include 在加载文件失败时,会生成一个警告(E_WARNING),在错误发生后脚本仍继续执行,所以include 用在希望继续执行并向用户输出结果时。
<?php
# 引入一个不存在的脚本(xxx.php)
include('./xxx.php');
# 上面发生警告后下面的代码仍然继续执行
echo 'hello!';
# 引入一个不存在的脚本(xxx.php)
require('./xxx.php');
# 上面发生致命错误后下面的代码不会执行
echo 'hello!';//得不到执行
?>