PHP学习—了解篇
了解php
- 了解神器:phpstudy 一键搭建php环境
语法:
php是一种可以嵌套在html页面的脚本语言
-
嵌套html文件:
<!doctype html> <html> <head> <title>php</title> </head> <body> <?php // php代码; ?> </body> </html>
php同时也可以以 “*.php” 文件单独保存和被访问,但是在php文件中,也必须以 “< ? " 开头, ”?>”结束!php代码只会在这里被执行和解析
- php对大小写敏感识别
php支持目前主流的三种注释:双斜杠,“#”号,多行注释
变量:
变量规则:
- 变量以$符号开头
变量名必须字母或下划线开头,由数字、字母、下划线组成变量名
php没有创建变量名的命令,变量赋值的过程就是创建的过程
作用域:
local(局部):只允许自己语法结构的语句访问(函数内部声明)
-
global(全局):允许当前php程序中所有的语法结构内的语句访问(函数之外声明)
全局变量访问:
global关键字用于在函数内访问全局变量,在内部函数中访问全局变量必须在访问前使用global关键字。
<?php $x = 5 ; $y = 10 ; function mytest(){ global $x , $y ; $y = $x + $y ; } mytest(); echo $y ; ?>
-
static(静态):变量执行的结果,下一回合不复位
静态访问:
在变量声明时,添加static声明,就可以在多次访问该变量而变量的变化不复位
<?php function mytest(){ static $x = 0 ; echo $x ; $x ++ ; } mytest(); mytest(); mytest(); ?>
输出:
echo输出:
- 可以输出一个以上的字符串
<?php echo '<p>hello,world!</p>'; ?>
print输出:
数据类型:
字符串:
- 字符串是字符序列,引号内的文本都属于字符串
整数:
- 没有小数的数字组合(包括负数)
浮点数:
- 不是整数的所有数字组合,以及科学计数
布尔逻辑数:
- true和false
数组:
一个变量中存储一个或多个值
-
数组创建使用关键字“array”
<?php $cars = array ("huawei","china","go!")s var_dump($cars);//返回数组的类型和值 ?> // 运行结果 // “array(3) { [0]=> string(6) "huawei" [1]=> string(5) "china" [2]=> string(3) "go!" }”
关键字:var_dump 返回数组的大小,每一个参数值的数据类型等信息
对象:
-
使用 “class” 关键字声明对象数据类型
<?php class car { var $color ; function car($color = "green") { $this -> color = $color; } function what_color(){ return $this->color; } } ?>
null值:
- 表示变量为空值(将值设置为null,代表清空变量值)
判断数据类型:
var_dump():
- 打印变量的类型和值
- 语法:void var_dump(mixed $expression)
无返回值
is函数:
- is_bool():判断是否为布尔值
- is_float():判断是否为浮点型
- is_int():判断是否为整型
- is_numeric():判断是否为数值型
- is_string():判断是否为字符串
- is_array():判断是否为数组
- is_object():判断是否为对象
- is_null():判断是否为空
- is_resource():判断是否为资源类型
isset():
- 检查变量是否存在
- 返回:变量存在返回 true
empty():
- 检查变量是否为空(isset()只可以检测是否存在)
- 返回:变量存在且非空 返回false(var = null 才认为是空)
php系统常量:
系统常量 | 说明 |
---|---|
__ file __ | php程序文件名 |
__ line __ | php程序当前行号 |
php_version | php程序版本号 |
php_os | 操作系统名称 |
true | 真 |
false | 假 |
e_error | 最近的错误 |
e_warning | 最近的警告 |
e_parse | 解析语法潜在问题 |
e_notice | 不正常的错误 |
运算符:
算术运算符:
// + - * / % ++ --
加 减 乘 除 模 自加 自减
字符串运算符:
字符串连接符: .(点)
连接等于:. = (点 等于)
赋值运算符:
赋值: =
减等: -=
加等: +=
乘等:*=
除等:/=
取余等:%=
比较运算符:
大于、小于、大于等于、小于等于、等于、不等于
全等于:===
不全等:! ==
逻辑运算符:
逻辑与: and &&
逻辑或: or ||
逻辑非: not !
三元运算符:
条件运算符: ?:
控制结构:
if分支条件:
略
switch条件语句:
略
while循环:
略
do…while循环:
略
for循环:
略
控制函数:
略(break/continue)
数值的传递:*
赋值传递:(两个都不同的内存地址)
$a = $b ;
引用赋值:(两个变量同一个地址)
$a = &$b ;
数组:
数组类型:
- 枚举数组:索引下标为整数
- 关联数组:索引下标为字符串
- 多维数组:数组元素是数组
创建数组:
关键字:array() 创建数组
- 标识符:
- $arr[key] = value ;
- $arr[] = value ;
数组函数:
print_r():打印变量信息
unset():删除数组元素
foreach():遍历数组元素
array_shift():
- 将数组的第一个单元格移出并作为结果返回
array_pop():
- 将数组的最后一个单元元素移出并返回
array_unshift():
- 在数组最前面插入一个或多个元素
array_push():
- 在数组的尾部插入一个或多个元素
array_values():
- 返回数组中所有的值并建立数字索引
count():计算数值属性个数
array_sum():计算数值的和
array_reverse():返回一个反转数组
list():将数组元素赋值给变量
<?php $intarray = array(2,5,9,13,7,9,21,7,9,24,38) ; $max = $intarray[0]; $min = $intarray[0]; $max_i = $min_i = 0; for ($i=0; $i < count($intarray) ; $i++) { if ($max < $intarray[$i]) { $max = $intarray[$i] ; $max_i = $i ; } if ($min > $intarray[$i]) { $min = $intarray[$i] ; $min_i = $i ; } } echo "array_max:".$max."<br />max_i=".$max_i ; echo "<br /><br />"; echo "array_min:".$min."<br />min_i=".$min_i ; echo "<hr />"; // 位置交换 echo "位置交换前:".print_r($intarray) ; $m = $intarray[$min_i] ; $intarray[$min_i] = $intarray[$max_i] ; $intarray[$max_i] = $m ; echo "<br />"; echo "位置交换后:".print_r($intarray) ; echo "<hr />"; // 反转数组 echo print_r(array_reverse($intarray)); ?>
:
元素/代码 | 描述 |
---|---|
$_server['php_self'] | 返回当前执行脚本的文件名。 |
$_server['gateway_interface'] | 返回服务器使用的 cgi 规范的版本。 |
$_server['server_addr'] | 返回当前运行脚本所在的服务器的 ip 地址。 |
$_server['server_name'] | 返回当前运行脚本所在的服务器的主机名(比如 www.w3school.com.cn)。 |
$_server['server_software'] | 返回服务器标识字符串(比如 apache/2.2.24)。 |
$_server['server_protocol'] | 返回请求页面时通信协议的名称和版本(例如,“http/1.0”)。 |
$_server['request_method'] | 返回访问页面使用的请求方法(例如 post)。 |
$_server['request_time'] | 返回请求开始时的时间戳(例如 1577687494)。 |
$_server['query_string'] | 返回查询字符串,如果是通过查询字符串访问此页面。 |
$_server['http_accept'] | 返回来自当前请求的请求头。 |
$_server['http_accept_charset'] | 返回来自当前请求的 accept_charset 头( 例如 utf-8,iso-8859-1) |
$_server['http_host'] | 返回来自当前请求的 host 头。 |
$_server['http_referer'] | 返回当前页面的完整 url(不可靠,因为不是所有用户代理都支持)。 |
$_server['https'] | 是否通过安全 http 协议查询脚本。 |
$_server['remote_addr'] | 返回浏览当前页面的用户的 ip 地址。 |
$_server['remote_host'] | 返回浏览当前页面的用户的主机名。 |
$_server['remote_port'] | 返回用户机器上连接到 web 服务器所使用的端口号。 |
$_server['script_filename'] | 返回当前执行脚本的绝对路径。 |
$_server['server_admin'] | 该值指明了 apache 服务器配置文件中的 server_admin 参数。 |
$_server['server_port'] | web 服务器使用的端口。默认值为 “80”。 |
$_server['server_signature'] | 返回服务器版本和虚拟主机名。 |
$_server['path_translated'] | 当前脚本所在文件系统(非文档根目录)的基本路径。 |
$_server['script_name'] | 返回当前脚本的路径。 |
$_server['script_uri'] | 返回当前页面的 uri。 |
函数:
- 关键字:function name() { …… }
函数参数:
-
值传递参数:
在函数调用的时候,允许传递参数值给函数,函数可以*使用参数进行操作
-
引用传递参数:
如果希望函数可以修改参数值,可以使用引用参数进行传递
引用传递,只需要在参数前加上 “&” 符号就可以
$arr = array(1,2,3,4); function addelement(&$arr){ $arr[count($arr)] = 100; print_r($arr); //在函数内输出$arr } addelement($arr); print_r($arr); //在函数外输出
-
默认值传递:
function hobby($who,$style=‘运动’){ echo “$who 喜欢 $style”; } hobby(“张三”,“唱歌”); hobby(“张三”);
-
global关键字:
引用函数外部的参数(引用传递性质的参数)
$name = "mary";//初始化变量 function getname(){ global $name; //引入外部的变量 echo "我的名字叫:$name"; } getname();
内置函数:
- echo语句:输出
- print语句:输出
include语句:包含并运行指定文件
require语句:包含并运行指定文件
下一篇: 架构设计原则