# 基础语法
# 开始结束标签
PHP 脚本以 <?php 开始,以 ?> 结束
<?php
// PHP 代码
?>
PHP 文件的默认文件扩展名是 ".php"。
PHP 文件通常包含 HTML 标签和一些 PHP 脚本代码
# 在HTML文件中编写PHP代码
<body>
<h1>My first PHP page</h1>
<?php
echo "Hello World!";
?>
</body>
PHP 中的每个代码行都必须以分号结束。分号是一种分隔符,用于把指令集区分开来。
通过 PHP,有两种在浏览器输出文本的基础指令:echo 和 print。
# 定义变量
表达式:$变量名=变量值
php代码以分号结尾
$a=1;
$b=2;
$c=3;
echo "$a"; echo "$b"; echo "$c";
# 可变变量
$name='top';
$top='汤姆';
echo $name;
echo $top;
echo $$name;
# global 关键字
global 关键字用于函数内访问全局变量。
在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字:
$x=5;
$y=10;
function myTest()
{
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y; // 输出 15
# Static 作用域
当一个函数完成时,它的所有变量通常都会被删除。然而,有时候您希望某个局部变量不要被删除。
要做到这一点,请在您第一次声明变量时使用 static 关键字:
function myTest()
{
static $x=0;
echo $x;
$x++;
echo PHP_EOL; // 换行符
}
myTest();
myTest();
myTest();
# php代码双引号与单引号的区别
- 单引号直接输出 双引号判断是否有变量之后输出
- 单引号不解析变量,双引号可以解析变量
- 双引号执行转义字符,单引号不转译
- 日常开发中呢使用单引号就不使用双引号 因为单引号的效率要比单引号高
- 双引号里面插入单引号 单引号里面插入变量 变量会被解析为‘$a’
- 如果是字符串和变量一起使用的时候 用.来链接
$a1='你好';
echo $a1.'<br/>';
$a2="你好";
echo $a2.'<br/>';
$a3="你好$a";
echo $a3.'<br/>';
# 强制类型转换
# strval`函数
PHP内置的strval函数可以将当前类型强制转换为字符串类型
$a4=123;
$res=strval($a4);
echo $res;
# intval函数
PHP内置的intval函数可以将当前类型强制转换为字符串类型
# echo 和 print 语句
echo 和 print 区别:
- echo - 可以输出一个或多个字符串
- print - 只允许输出一个字符串,返回值总为 1
- echo 输出的速度比 print 快, echo 没有返回值,print有返回值1。
# echo 语句
echo 是一个语言结构,使用的时候可以不用加括号,也可以加上括号: echo 或 echo()。
echo "<h2>PHP 很有趣!</h2>";
echo "Hello world!<br>";
echo "我要学 PHP!<br>";
echo "这是一个", "字符串,", "使用了", "多个", "参数。";
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
echo $txt1;
echo "<br>";
echo "在 $txt2 学习 PHP ";
echo "<br>";
echo "我车的品牌是 {$cars[0]}";
# print 语句
print 同样是一个语言结构,可以使用括号,也可以不使用括号: print 或 print()。
print "<h2>PHP 很有趣!</h2>";
print "Hello world!<br>";
print "我要学习 PHP!";
$txt1="学习 PHP";
$txt2="RUNOOB.COM";
$cars=array("Volvo","BMW","Toyota");
print $txt1;
print "<br>";
print "在 $txt2 学习 PHP ";
print "<br>";
print "我车的品牌是 {$cars[0]}";
# PHP数据类型
PHP 变量存储不同的类型的数据,不同的数据类型可以做不一样的事情。
PHP 支持以下几种数据类型:
- String(字符串)
- Integer(整型)
- Float(浮点型)
- Boolean(布尔型)
- Array(数组)
- Object(对象)
- NULL(空值)
- Resource(资源类型)
# 获取数据类型
使用gettype函数可以获取数据的类型
$top=123;
echo gettype($top);
# PHP 字符串
一个字符串是一串字符的序列,就像 "Hello world!"。
你可以将任何文本放在单引号和双引号中
$x = "Hello world!";
echo $x;
echo "<br>";
$x = 'Hello world!';
echo $x;
# PHP 整型
整数是一个没有小数的数字。
整数规则:
- 整数必须至少有一个数字 (0-9)
- 整数不能包含逗号或空格
- 整数是没有小数点的
- 整数可以是正数或负数
- 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
PHP var_dump() 函数返回变量的数据类型和值
$x = 5985;
var_dump($x);
echo "<br>";
$x = -345; // 负数
var_dump($x);
echo "<br>";
$x = 0x8C; // 十六进制数
var_dump($x);
echo "<br>";
$x = 047; // 八进制数
var_dump($x);
# PHP 浮点型
浮点数是带小数部分的数字,或是指数形式。
$x = 10.365;
var_dump($x);
echo "<br>";
$x = 2.4e3;
var_dump($x);
echo "<br>";
$x = 8E-5;
var_dump($x);
# PHP 布尔型
数组可以在一个变量中存储多个值
$cars=array("Volvo","BMW","Toyota");
var_dump($cars);
# PHP 对象
对象数据类型也可以用于存储数据。
- 在 PHP 中,对象必须声明。
- 必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
- 我们在类中定义数据类型,然后在实例化的类中使用数据类型:
class Car
{
var $color;
function __construct($color="green") {
$this->color = $color;
}
function what_color() {
return $this->color;
}
}
# PHP NULL 值
- NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
- NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
- 可以通过设置变量值为 NULL 来清空变量数据:
$x="Hello world!";
$x=null;
var_dump($x);
# PHP常量
常量是一个简单值的标识符。该值在脚本中不能改变。
一个常量由英文字母、下划线、和数字组成,但数字不能作为首字母出现。 (常量名不需要加 $ 修饰符)。
定义常量 define('常量名','常量值)函数
// 区分大小写的常量名
define("GREETING", "欢迎访问 Runoob.com");
echo GREETING; // 输出 "欢迎访问 Runoob.com"
echo greeting; // 输出 "greeting",但是有警告信息,表示该常量未定义
# 系统变量
- 返回此时运行的文件地址
echo __FILE__.'<br/>';
- 获取当前文件所在文件夹的路径
echo __DIR__.'<br/>';
- 返回此代码在第几行
echo __LINE__.'<br/>';
- 获取当前所运行的php版本
echo PHP_VERSION.'<br/>';
- 获取php系统信息
echo PHP_OS.'<br/>';
- 获取圆周率
echo M_PI.'<br/>';
- die()函数相当于retur 中止运行后面的函数
die();
# 引入文件
require ('text.php');