滨江网站建设制作,怎样做国外网站,做爰电影网站,科技类网站色彩搭配一、初步语法 1、PHP代码标记#xff1a;以 ?php 开始#xff0c;以 ? 结束#xff1b; 2、PHP注释#xff1a;行注释#xff1a;//#xff08;双斜杠#xff09;或# 块注释#xff1a;/* */
3、PHP语句分隔符#xff1a; 1#xff09;在PHP中#…一、初步语法 1、PHP代码标记以 ?php 开始以 ? 结束 2、PHP注释行注释//双斜杠或# 块注释/* */
3、PHP语句分隔符 1在PHP中代码以行为单位系统需要通过判断行的结束通常都用英文状态下表示结束。说明PHP中标记结束符?有自带语句结束符的效果最后一行PHP代码可以没有语句结束符“”。 2PHP中很多代码的书写并不是全嵌入到HTML中而是单独存在所以可以不使用标记结束符?PHP会自动从开始到最后全部认为是PHP代码从而解析。 二、变量
1、变量是用来存储数据的 2、变量是存在名字的 3、变量是通过名字访问数据的 4、变量的数据是可以改变的。
变量的使用
1、定义在系统中增加对应的变量名字在内存中开发一块地 2、赋值将数据赋值给变量在定义时直接初始化 3、可通过变量名访问数据 4、变量可从内存中删除变量命名规则
1、变量名字必须以$开头 2、变量名可由数字、字母、下划线命名但必须以字母和下划线开头;
3、允许中文变量(不建议)
// 定义时不需要关键字但必须使用$符号
$var1;
$var2 1;
echo $var2; // 访问变量通过变量名找到数据并显示
$var2 2; // 修改变量
echo hr/,$var2; // hr 为下划线分隔符
unset($var2); // 删除变量从内存中剔除
echo $var2; // 此时会报错因为不存在变量
预定义变量
即提前定义的变量由系统定义的变量存储许多要用到的数据预定义变量都是数组。 $_SERVER 包含服务器和执行环境信息的数组例如 HTTP 头、路径、脚本位置等。 $_GET 包含通过 URL 参数传递给当前脚本的变量的数组。 $_POST 包含通过 HTTP POST 方法传递给当前脚本的变量的数组。 $_REQUEST 包含了 $_GET、$_POST 和 $_COOKIE 的内容的数组。不建议过度依赖因为它可能包含未预期的数据尤其是在处理表单数据时。 $_SESSION 包含当前会话中的会话变量的数组。需要先调用 session_start() 函数开启会话。 $_COOKIE 包含通过 HTTP Cookies 传递给当前脚本的变量的数组。 $_FILES 包含上传文件的信息的数组。这个变量由文件上传的表单使用。 $_ENV 包含环境变量的数组。 $_GLOBALS 包含了全部变量的全局作用域数组变量的名称就是数组的键。 可变变量 如果一个变量保存的值刚好是另外一个变量的名字则可直接通过访问一个变量得到另外一个变量的 值但需在变量前多加一个$符号
$a b; // a变量的内容正好是b变量的名称故称a为可变变量
$b bb;
echo $$a; // 使用时需加一个$符号
变量传值 将一个变量赋值给另一个变量值传递、引用传递 值传递将变量保存的值复制一份并将该值给另外一个变量保存(两个变量无关系)
// 值传递
?php
// 2.1 执行此行在栈区开辟一块内存存储$a在数据段中开辟一块内存保存值1。然后将1所在位置赋值
//给a变量
$a 1;
// 2.2 栈区开辟存储$b发现是赋值运算故会取出$a的值
// 并在数据段重新开辟一块内存并保存且再把新开辟地址赋值给栈区的变量b
$b $a; // 值传递
// 2.3 执行该行
$b 2;
echo $a,$b;//a1,b2 引用传递将变量保存值所在的内存地址传递给另外一个变量两个变量同指一块内存名字不一样而已,可以通过在函数定义时在参数前面加上 符号来指示参数是引用传递的。
通常情况下PHP 函数中的参数是通过值传递的这意味着函数内部对参数的修改不会影响到函数外部的变量。但是通过引用传值函数可以直接修改调用者传递的变量本身而不是变量的副本。
function increment($value) {$value;
}$num 5;
increment($num);
echo $num; // 输出 6
/* $num 是一个普通的变量但是当它作为 increment 函数的参数时前面的 符号表示这是一个引用传递的参数。因此函数内部对 $value 的增加操作直接影响到了函数外部的 $num 变量使得 $num 的值变为 6。 */常量
常量的基本概念 const/constant:是在程序运行中不可改变的量数据常量一旦定义通常不可更改。
定义方式 1、使用定义常量的函数define常量名,常量值——类似于c的 #define 2、const
?php
// 使用函数定义常量
define(PI,3.1415); // 注意此处与c不同#define 为预处理命令宏定义无需加。
// 使用const关键字定义
const PI 3;
// 定义特殊常量
define(^-^,smile);
// const ^-^ // 报错
// 访问常量
echo PI;
// echo ^-^ // 报错
constant(^-^); // 特殊常量的访问加引号
// 系统常量
echo hr/,PHP_VERSION,br/,PHP_INI_SIZE,br/,PHP_INI_MAX; // 有符号整形
// 魔术常量
echo hr/,__DIR__,br/,__FILE__,br/,__LINE__;
echo __LINE__; // 输出的行数会变
常量命名规则 1、常量不需要使用$符号一旦使用被认为是变量 2、变量名可由数字、字母、下划线命名但必须以字母和下划线开头 3、常量的名字通常是以大写字母为主与变量以示区别 4、常量命名的规则比变量要松散可以使用一些特殊字符该方式只能使用define定义 5、定义常量通常不区分大小写但可以区分define函数的第三个参数
系统常量 魔术常量由双下划线常量名双下划线组成其值会随着环境变化而变化用户无法改变。
echo 当前文件路径 . __FILE__; // 输出当前文件的路径和文件名
echo 当前行号 . __LINE__; // 输出当前行号
echo 当前函数名 . __FUNCTION__; // 如果在函数内部使用则输出当前函数名
echo 当前类名 . __CLASS__; // 如果在类内部使用则输出当前类名
echo 当前命名空间 . __NAMESPACE__; // 如果在命名空间内部使用则输出当前命名空间数据类型
数据类型data type在PHP中指的是数据本身的类型而不是变量的类型。PHP是一种弱类型语言变量本身没有数据类型。 基本数据类型 整数Integer 表示整数值例如 42 或 -123. 浮点数Floating point numbers 表示带有小数点的数值例如 3.14 或 -0.001. 字符串String 表示文本数据可以使用单引号 或双引号 包裹例如 Hello, World!. 布尔值Boolean 表示逻辑值可以是 true 或 false. 空值Null 表示一个变量没有值使用关键字 null 表示。 复合数据类型 数组Array 用于存储多个值的有序集合可以是索引数组按数字索引或关联数组按字符串键索引。 对象Object 表示自定义数据结构通过类实例化得到包含属性和方法。 特殊数据类型 资源Resource 表示外部资源例如数据库连接、文件句柄等由一些 PHP 函数返回。 回调类型Callable 表示可以被调用的函数或方法。 伪类型 mixed 表示可以是多种不同类型的值。 void 表示没有返回值的函数的返回类型。 类型转换
PHP 是一种弱类型语言意味着在大多数情况下它会自动转换变量的类型以匹配操作的要求。例如将字符串 123 转换为整数 123或者将整数 456 转换为字符串 456。
类型检测和转换函数
PHP 提供了一些函数来进行类型检测和类型转换如 is_int()、is_string()、(int)、(string) 等用于检查变量的类型或者强制类型转换。
转换说明 1、以字母开头的字符串永远为0 2、以数字开头的字符串取到碰到字符串为止。不会同时包含两个小数点 $a abcd1.1.1;
$b 1.1.1abc;
// 自动转换。算术运算系统先转化为数值类型然后运算
echo $a$b; // 结果为1.101.1
// 强制转换
echo br/,(float)$a,(float)$b; // 01.1
// 类型判断
echo hr/;
var_dump(is_int($a)); // bool(FALSE)
var_dump(is_string($a)); // bool(TRUE)
// 获取数据类型
echo hr/;
echo gettype($a); // string虽然前面强制转换了但并未改变本身
// 设置类型
// var_dump 输出展示展示代码内容结构与类型。该函数作可以窥探所有内容的类型以及内部信息
var_dump(settype($b,int)); // 先将字符串转换为int型转换成功返回truevar_dump判断
是否为bool型故显示 booltrue
echo gettype($b),$b; // interger 1
var_dump() 是 PHP 中一个非常有用的调试函数它能够输出一个或多个表达式的详细信息包括其类型和值。主要用途包括 输出变量的类型和值 var_dump() 可以输出变量的数据类型例如整数、字符串、数组等以及其具体的值。 输出数组和对象的结构 对于数组和对象var_dump() 能够逐层显示其结构包括每个元素或属性的类型和值。 输出 NULL 的信息 对于 null 值var_dump() 显示 NULL。 输出布尔值的信息 对于布尔值 true 和 falsevar_dump() 显示 bool(true) 和 bool(false)。 gettype() 是 PHP 中的一个函数用于获取给定变量的数据类型并返回其类型的字符串表示。
$var1 42;
$var2 Hello;
$var3 array(1, 2, 3);
$var4 null;
$var5 true;echo gettype($var1); // 输出integer
echo gettype($var2); // 输出string
echo gettype($var3); // 输出array
echo gettype($var4); // 输出NULL
echo gettype($var5); // 输出boolean主要特点和注意事项
返回值gettype() 返回一个字符串表示变量的数据类型。适用范围适用于所有类型的变量包括整数、浮点数、字符串、数组、对象、NULL 和布尔值等。区分对象类型对于对象gettype() 返回 object但无法详细显示其类名。如果需要获取对象的类名应该使用 get_class() 函数。获取资源类型对于资源例如数据库连接资源gettype() 返回 resource。返回布尔值类型对于布尔值gettype() 返回 boolean而不是 bool。
$handle fopen(example.txt, r);
echo gettype($handle); // 输出resourceclass MyClass {}
$obj new MyClass();
echo gettype($obj); // 输出object// 使用 get_class 获取对象的类名
echo get_class($obj); // 输出MyClasssettype() 是 PHP 中的一个函数用于将变量转换为指定的数据类型。
$var1 42;
$var2 3.14;
$var3 true;
$var4 Hello;
$var5 null;settype($var1, integer); // 将 $var1 转换为整数
settype($var2, float); // 将 $var2 转换为浮点数
settype($var3, boolean); // 将 $var3 转换为布尔值
settype($var4, string); // $var4 已经是字符串这里只是示意
settype($var5, null); // $var5 是字符串 null这里只是示意echo $var1; // 输出42
echo $var2; // 输出3.14
echo $var3; // 输出1 true 被转换为布尔值 true
echo $var4; // 输出Hello 未改变
echo $var5; // 输出null 未改变主要特点和注意事项
返回值settype() 函数没有返回值它会直接修改传入的变量。适用范围适用于标量类型的变量包括整数、浮点数、布尔值和字符串。布尔值转换规则字符串 true 被转换为布尔值 true其他非空字符串转换为布尔值 true空字符串转换为布尔值 false。NULL 的处理settype() 不会将变量设置为 null 类型因为在 PHP 中 null 是一个特殊的值而不是数据类型。注意点使用 settype() 时要确保目标类型与变量的当前值兼容否则可能会导致意外的结果或错误。
$number 12345;
settype($number, integer);
echo $number; // 输出12345$float_str 3.14;
settype($float_str, float);
echo $float_str; // 输出3.14$bool_str false;
settype($bool_str, boolean);
echo $bool_str; // 输出1 false 被转换为布尔值 true$str Hello;
settype($str, integer); // $str 是字符串不能转换为整数结果是 0
echo $str; // 输出0