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

来源:互联网 发布:叉叉助手脚本提取源码 编辑:程序博客网 时间:2024/06/05 07:34

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. 数组
1. 是复合类型。
2. 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;//输出类型-doublegetType($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,值为datadefine('MY','data');//输出:我的MYecho "我的MY";//输出:我的dataecho "我的".MY;

23. 内置的常量

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

24. 变变量

$a = "b";$b = "c";//输出:cecho $$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中可以使用POSTform使getpost_REQUEST方法获取数据
26. php页面编码

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

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

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

函数的应用

$a = 10;function test($s){    $s = 100;    echo $s+$s;}//输出:200test($a);//输出:100echo $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);//输出:321结束

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()函数结束";//输出:0000000000mm1()函数结束0123456789mm2()函数结束

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

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

返回值:int,&$array:必须传入数组变量,mixed:任意类型的变量。
语法:int array_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---abb---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($str) 删除两端的空白字符 ltirm($str) 删除开头空白字符(或其他字符) rtrim($str)/chop($str) 删除末端空白字符(或其他字符) md5($str) 计算字符串md5的散列值 md5_file() 计算文件md5散列值 number_format() 以千位分隔符,分割数字 print() 输出字符串 printf() 输出格式化字符串 stripos() 查找字符在字符串中首次出现的位置(不区分大小写) strpos() 查找字符串首次出现的位置 strstr()/strchr() 忽略大小写版本 strlen() 返回字符串长度 strrchr() 查找字符在字符串中最后一次出现的位置 strripos() 查找字符串在字符串中最后一次出现的位置(不区分大小写) strrpos() 查找字符串在字符串中最后一次出现的位置 strtolower() 转换为小写字母 strtoupper() 转换为大写字母 dimame(“E:/www/demo.php”) 路径中目录部分 str_repeat(‘.’,20) 重复使用字符串 str_pad($str,20,’.’) 把字符串补充为指定的长度 str_split(‘,’); 分割为数组
原创粉丝点击