php嵌入脚本语言基础知识整理

1. 在".php“文件中html直接输出,开始标记”<?php",结束标记"?>",标记之间的内容会进行解析处理。
2. 输出当前日期<script>document.write(new Date());</script>
3. 循环

<?php
	for($i = 0; $i < 4; $i++)
		echo "$i ###### $i <br>";
?>
----------------------------------
Output results for:
	0 ###### 0
	1 ###### 1
	2 ###### 2
	3 ###### 3

4. php语言标记风格
属性|推荐与否
–|
<?php ?>|推荐
<? ?>|不推荐,短风格
<?=$var ?>|不推荐,短风格
<% %>|不推荐,asp风格
<script language="php"> </script>|不常用
禁止短风格与asp风格的方法
步骤1. 在"php.ini"文件中
short_open_tag=on
asp_tags=on
关闭为off
5. 指令分隔符"分号"

语句分为两种:
	1. 功能执行语句(内容语句 $i = 0; echo $i;)
	   后面一定要加分号。
    2. 结构定义语句(循环语句 for(;;){} while(true){})
	   后面一定不要加分号。

6. 注释

属性-
//单行注释
/**/多行注释
#脚本注释
/** */文档注释

7. 包含指令

<?php
	//当前php文件包含one.php文件的内容
	require "one.php";
?>

被包含的文件(one.php)中,不能有结束标记"?>",否则会报错;
在结束标记"?>"之后,不能有多余的空格。
8. 空白符
空格、tab键、换行符、回车符等等。
9. 数据类型
9.1. 整型

  1. 10进制、8进制、16进制
    9.2. 布尔型
    9.2.1 自动类型转换
    假|真
    –|-
    boolean=false;|true
    int=0;|1
    string=‘0’|‘1’(非0即可)
    float=0.0;|0.1(只要有非0数字,都为真)
    空字符串|非空
    空数组|非空
    NULL|非NULL
    res=fopen(“test.txt”,“r”);|(使用r方式打开一个存在的文件)

9.3. 字符串

方式
$A=‘你’;
$B=“我”;
下面的代码是定界符的使用:
//在PHP定界符中的任何特殊字符都不需要转义
$zjf = <<<ABC
		先
		<br>换行
		<h1>H1</h1>&
ABC;
	echo $zjf;

双引号和单引号的区别

  1. 双引号会解析变量,单引号会原样输出。
  2. 双引号中输出变量时与后面的字符串用空格或者!隔开,否则输出错误。
  3. 在双引号中,将变量或者字符串用{}括起来。
  4. “/n”:回车;"/t":“缩进”;(仅限双引号使用)
  5. “”":转义字符;此时输出"。(单、双引号都可以使用)
  6. 双引号执行效率没有双引号效率高,因为双引号会解析变量。
  7. 定界符中可以有单双引号,引号中还可以有变量名,也可以转义\t、\n等。

9.4. 浮点(double、float)
不要用浮点型数据用来比较大小,数据不精确。(例如8,其实内部值是7.99999…,所以不要用来比较大小!)
$b = 2.0;
10. var_dump()函数

//作用:输出数据的类型、长度以及值。
$a = 1;
//输出int(1)
var_dump($a);
$b = 2.0;
//输出float(2.0)或者double(2.0);
var_dump($b);

11. if…[else…][else if…]语句

//(1)
if(0==1){
		$a = 11;
		echo $a;
	}else if(1==2){
		$a = 12;
		echo $a;
	}else{
		echo "else";
	}
//(2)
if(0==0)
	echo "1";
else
	echo "0";

12. NULL

	$e = null;
	var_dump($e);
	//var_dump($e2);//会报错
	$e3 = 1;
	unset($e3);
	//var_dump($e3);//会报错

13. unset()销毁变量函数

$a=1;
unset($a);

14. empty()是否为空函数

$a = null;
if(empty($a)){
	echo "null";
else
	echo "非null";

15. isset()判断多个值是否为空函数

$a=null;
$b=1;
if(isset($a,$b))
	echo '$a与$b均为null才为true';
else
	echo '$a与$b中,只要有一个不为null,则为false;';

16. 对象

  1. 是复合类型。(该类型中同时可以有字符串、整型、浮点型、布尔型等,多种类型组合起来的一个单独的类型。)
  2. 使用var_dump()函数映射此类变量时,结果为Object()。
    17. 数组
  3. 是复合类型。
  4. var_dump()映射为array();
$a = array(1,2,3,"4");
var_dump($a);
//输出array(4) { [0]=> int(1) [1]=> int(2) [2]=> int(3) [3]=> string(2) "44" }
//[0]下标   int(1)  类型(值)

18. 资源resource()
19. 数据类型的查看和判断

$a = 1.2;
//输出类型-double
getType($a);
//输出类型(值)-double(1.2)
var_dump($a);
$a2 = "你好啊";
//输出类型(长度) 值-string(9) 你好啊
var_dump($a2);

判断数据类型
函数|类型
-|
is_int()|整型
is_bool()|布尔
is_float()|单精度浮点
is_string()|字符串
is_array()|数组
is_Object()|对象
is_null()|空
is_resource()|资源
is_scalar()|标量(值就是标量)
is_numeric()|数值类型(用于判断该字符串是否是数字)
is_callable(‘var_dump’)|函数
is_types()|类型

  1. 标量:整型、浮点型、布尔型、字符串
  2. 混合类型:数组、对象
  3. 特殊:空、资源、回调(callback)
    20. 自动类型转换
    原类型|自动转换的类型
    -|
    布尔|整型
    布尔|浮点型
    字符串|整型
    字符串|浮点型
//只要字符串中有数字即可参与正常运算
//布尔为true会自动转换为整型1或者浮点型0.1
//布尔为false会自动转换为整型0或者浮点型0.0

21. 强制类型转换

  1. 函数:intval()、floatval()、strval()
  2. 在变量前加括号,括号内写类型
$g = 1.2;
	$g1 = (int)$g;
	$g2 = $g;
	//输出 1
	echo $g1;
	echo "<br>";
	//输出1.2
	echo $g2;
  1. setType(变量,类型)直接改变变量本身
  • 空转为整型会为整型的0;
  • 空转为浮点会为浮点的0;
  • 空转为字符串会为空字符串
  • 浮点的123.0转为字符串会为字符串的123
  • 浮点的123.2转为字符串会为字符串的123.2
  • 浮点即使小数再大,都会舍掉小数点后面的值
  • 如果字符串转为整型,如果数值在前面,会将前面的值拿出来作为整型的转换值
  • settype(变量,类型)等于unset()一个变量
  • 目 标 变 量 = ( 类 型 ) 目标变量=(类型) =()操作变量,只会改变目标变量的类型,不会改变原变量的类型,settype是改变原值
    22. 常量
  • define(常量名,常量值(值只能是标量(字符串、整型、浮点型、布尔这四种)))
  • array() 数组不能为常量值
//声明一个常量,名为my,值为data
define('MY','data');
//输出:我的MY
echo "我的MY";
//输出:我的data
echo "我的".MY;

23. 内置的常量
名|含义
-|
LINE|当前所在行
FILE|当前文件在服务器的路径
FUNCTION|当前函数名
CLASS|当前类名
METHOD|当前成员方法名
PHP_OS|当前运行PHP的操作系统
PHP_VERSION|当前PHP版本
TRAIT|trait的名字 PHP5.4之后才有
DIR|文件所在的目录
NAMESPACE|当前命名空间的名称
24. 变变量

$a = "b";
$b = "c";
//输出:c
echo $$a;
//执行步骤
//1. $ ($a)
//2. $ b
//3. $b 的值为 c

25. 外部变量
html代码

	<form action="data1.php" method="get">
		username: <input type="text" name="username" >
		<br />
		<input type="submit" text="提交">
	</form>

data1.php代码

<?php
	echo "form中使用get方法传输数据,使用".'$_GET'."方法获取数据<br>";
	$username = $_GET['username'];
	echo $username."<br>";

如果form使用的post方法,在php中可以使用 P O S T 方 法 获 取 数 据 f o r m 中 无 论 使 用 g e t 方 法 , 还 是 p o s t 方 法 , 都 可 以 用 _POST方法获取数据 form中无论使用get方法,还是post方法,都可以用 POSTform使getpost_REQUEST方法获取数据
26. php页面编码

//方式 1
header("Content-type: text/html; charset=utf-8"); 
//方式 2
//将php文件的编码修改为utf-8(使用记事本打开文件,另存为,下面有编码选项)

27. 参数的引用
变量的引用

$a = 10;
$b = $a;
$b = 100;
//输出:100-100
echo $a."-".$b;
//$a和$b在`$b = $a;`时,使其共用一个存储空间

函数的应用

$a = 10;
function test($s){
	$s = 100;
	echo $s+$s;
}
//输出:200
test($a);
//输出:100
echo $a;
//调用了函数以后,$s和$a共用一个存储空间

28. 停止符
exit();
29. 递归

	function mm($s){
	echo $s;
	if($s-1>0){
		echo "<br>";
		mm($s-1);
	}else{
		echo "<br>结束";
	}
}
mm(3);
//输出:
3
2
1
结束

30. 静态变量
静态变量:static $a = 0;

function mm1(){
	$a = 0;
	echo $a++."<br>";
};
function mm2(){
	static $a = 0;
	echo $a++."<br>";
};
for($i = 0;$i<10;$i++){
	mm1();
};
echo "mm1()函数结束<br>";
for($i = 0;$i<10;$i++){
	mm2();
};
echo "mm2()函数结束";
//输出:
0
0
0
0
0
0
0
0
0
0
mm1()函数结束
0
1
2
3
4
5
6
7
8
9
mm2()函数结束

31. 系统内置函数
copy(文件1,文件2);

if(copy("copy1.php","copy2.php")){
	echo "复制成功";
}else{
	echo "复制失败";
}

**返回值:int,&KaTeX parse error: Expected 'EOF', got '&' at position 61: …_unshift(array &̲array,mixed $value[,mixed …])`

$a = array(1,2);
array_unshift($a,'11','22','00');
//输出:Array ( [0] => 11 [1] => 22 [2] => 00 [3] => 1 [4] => 2 )
print_r($a);

将字母改为大写 strtoupper(变量)
array_walk

$h = array('a'=>'aa','b'=>'bb');
function printArray($key,$value){
	echo $key.'---'.$value."<br>";
}
array_walk($h,'printArray');
//输出:
aa---a
bb---b

32. 包含文件函数

函数特点
incloud发生错误时,包含文件的php后续代码依然执行!
incloud_once除了incloud的功能外,还会做once检测,防止重复包含同样的文件
require发生错误时,包含文件的php所有后续代码不会再执行!
require_once除了require的功能外,还会做once检测,防止重复包含同样的文件

少用带_once的函数,incloud文件只需要编译一次,因为每次执行incloud都会再执行一次对应的代码,如何减少incloud再次执行,需要重新解析的过程。
a.php

<?php
	function demo(){
		echo "demo函数";
	}

b.php

<?php
	incloud 'a.php';
	//调用a.php的demo函数,输出为:demo函数
	demo();

33. 数学函数
函数|功能|值
-|-
max();|最大值|数组或多个变量
min();|最小值|数组或多个变量
round();|四舍五入|变量,保留位数
mt_rand();|随机数|随机数范围
ceil();|向上取整|一个变量
floor();|向下取整|一个变量
34. 时间函数
函数|功能
-|
date_default_timezone_get();|当前默认时区 Asia:亚洲
define(“Time_Zone”,“Asia/shanghai”);date_default_timezone_set(Time_Zone);|设置时区
echo date(“Y-m-d H:i:s”);|输出当前时间
date(“Y”);|输出当前年份
date(“d”)-30;|往前数30天
print_r(time());|打印时间毫秒数,从1970.1.1 0时0分0秒开始
print_r(getDate());|返回当前时间
print_r(getDate()[‘year’]);|当前年份
checkdate(月,日,年);|判断输入的日期是否存在,返回值为bool(true/false)
mktime(时,分,秒,月,日,年);|返回一个毫秒数(时间戳)
strtotime(“now”);|返回当前毫秒数
strtotime(“10 September 2017”);|2017-9-10,返回毫秒数
strtotime("+1 day");|+1天,返回毫秒数
strtotime("+1 week 2 days 2 seconds");|当前时间+1天2小时2秒,返回毫秒数
strtotime(“next Monday”);|下一个周一,返回毫秒数
strtotime(“last Monday”);|上一个周一,返回毫秒数
date函数的格式参照表??????????????????
程序执行时间检测

//开始记录
$time_start = micortime(true);
//执行业务的地方
//结束记录
$time_end = micortime(true);
//计算秒数,返回值为浮点型数据
$time = $time_end - $time_start;

35. 字符串函数

  1. 单字节字符串处理函数(英文、数字)
  2. 多字节字符串处理函数(中文,一个字就占3个字节)
  3. 字符串编码转换函数
    函数|意义
    -|
    trim( s t r ) ∣ 删 除 两 端 的 空 白 字 符 l t i r m ( str)|删除两端的空白字符 ltirm( str)ltirm(str)|删除开头空白字符(或其他字符)
    rtrim($str)/chop($str)|删除末端空白字符(或其他字符)
    md5( s t r ) ∣ 计 算 字 符 串 m d 5 的 散 列 值 m d 5 f i l e ( ) ∣ 计 算 文 件 m d 5 散 列 值 n u m b e r f o r m a t ( ) ∣ 以 千 位 分 隔 符 , 分 割 数 字 p r i n t ( ) ∣ 输 出 字 符 串 p r i n t f ( ) ∣ 输 出 格 式 化 字 符 串 s t r i p o s ( ) ∣ 查 找 字 符 在 字 符 串 中 首 次 出 现 的 位 置 ( 不 区 分 大 小 写 ) s t r p o s ( ) ∣ 查 找 字 符 串 首 次 出 现 的 位 置 s t r s t r ( ) / s t r c h r ( ) ∣ 忽 略 大 小 写 版 本 s t r l e n ( ) ∣ 返 回 字 符 串 长 度 s t r r c h r ( ) ∣ 查 找 字 符 在 字 符 串 中 最 后 一 次 出 现 的 位 置 s t r r i p o s ( ) ∣ 查 找 字 符 串 在 字 符 串 中 最 后 一 次 出 现 的 位 置 ( 不 区 分 大 小 写 ) s t r r p o s ( ) ∣ 查 找 字 符 串 在 字 符 串 中 最 后 一 次 出 现 的 位 置 s t r t o l o w e r ( ) ∣ 转 换 为 小 写 字 母 s t r t o u p p e r ( ) ∣ 转 换 为 大 写 字 母 d i m a m e ( &quot; E : / w w w / d e m o . p h p &quot; ) ∣ 路 径 中 目 录 部 分 s t r r e p e a t ( ′ . ′ , 20 ) ∣ 重 复 使 用 字 符 串 s t r p a d ( str)|计算字符串md5的散列值 md5_file()|计算文件md5散列值 number_format()|以千位分隔符,分割数字 print()|输出字符串 printf()|输出格式化字符串 stripos()|查找字符在字符串中首次出现的位置(不区分大小写) strpos()|查找字符串首次出现的位置 strstr()/strchr()|忽略大小写版本 strlen()|返回字符串长度 strrchr()|查找字符在字符串中最后一次出现的位置 strripos()|查找字符串在字符串中最后一次出现的位置(不区分大小写) strrpos()|查找字符串在字符串中最后一次出现的位置 strtolower()|转换为小写字母 strtoupper()|转换为大写字母 dimame(&quot;E:/www/demo.php&quot;)|路径中目录部分 str_repeat(&#x27;.&#x27;,20)|重复使用字符串 str_pad( str)md5md5file()md5numberformat()print()printf()stripos()()strpos()strstr()/strchr()strlen()strrchr()strripos()()strrpos()strtolower()strtoupper()dimame("E:/www/demo.php")strrepeat(.,20)使strpad(str,20,’.’)|把字符串补充为指定的长度
    str_split(’,’);|分割为数组
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值