PHP基础知识
php也是脚本语言,可以放在HTML中的任意地方,
1.标记 <?php ?>
2.注释方法 单行注释 // ,多行注释 /* */
3.输出语句
(1)输出内容
print 只能输出一个字符串,
echo 可以输出多个字符串,用逗号分隔,常用的输出方法,
(2)var_dump(); 用来测试类型,调试,也可以输出数组来调试,
print_r(); 用来输出数组,用于调试,
4.数据类型,php是弱类型语言,变量的类型会根据赋值自动转换
(1)变量转换, $a = 5; 变量定义只需要在变量名前加上符号$,
(2)类型转换,
(类型)$a;
settype($a,类型); 这两种方法都可以强制转换数据类型,
$r = 1; $r1 = (string)$r; //需要变量接收 var_dump ($r1);
$r = 1; settype($r,"string"); //注意类型要加双引号 var_dump ($r);
(3)获取类型
gettype($a) 需要echo输出才能看到,
is_ int($a) 判断变量a是否为整数形,需要var_dump才能看到,
(4)定义字符串,有三种方法,前两种方法是用双引号和单引号来定义,它们的区别是
①.双引号定义可以解析转义字符 \n(换行) \r(回车) \t(制表符) \"(双引号) \'(单引号) \\(反斜杠)
②双引号里面可以解析变量,比如可以用来拼接字符串,
$a = "张三"; echo "当前员工的型姓名:{$a}hello";
字符串可以直接拼接,拼接变量要用{}来界定,
③第三种定义字符串的方法是为了解决麻烦的问题,比如字符串中的双引号太多,改起来太麻烦,
$a = <<<A 内容 A;
注意事项:A为标识符,自己随便定义,一般用大写字母,结尾的标识符必须顶行写,前面不能有空格
(5)超全局变量
$GLOBALS; 用于在 PHP 脚本中的任意位置访问全局变量(从函数或方法中均可)。
PHP 在名为 $GLOBALS[index] 的数组中存储了所有全局变量。变量的名字就是数组的键。
(6)可变变量 变量解析时可以逐步解析,如
$a = "hello"; $hello = "张三"; echo $$a;
解析后相当于 $$a==>$hello==>"hello"
5.方法
isset($a); 判断变量是否定义,
unset($a); 删除变量,
empyt($a); 判断变量是否为空,返回true代表空,空字符串和0都当做空,数组里没有元素也当做空
6.取地址,
&$a; 获取变量a的地址
以下代码输出为15, 因为变量a与变量b的地址相同,操作的数据也相同,
$a = 10; $b = &$a; $b = 15; echo $a;
7.运算符和表达式
(1)数学运算符 + - * / % 加减乘除取余
(2)比较运算符 >, <, >=, <=, ==, !=
(3)逻辑运算符 &&, ||, !, 与或非
(4)错误抑制符 @,
错误类型分类:①notice 注意,②warning 警告,③error 错误
错误抑制符只可以抑制前两种情况,出现error时会影响代码运行,需要修改代码
(5)三元运算符
$a =true ; $a?"男":"女";
true为男,女为false
8.语句
1.顺序语句,按照书写顺序逐行解析的语句,一般的语句都是顺序语句
2.分支语句,根据条件判断要执行的代码
(1)if语句
$a = 10; if($a>10){ 代码 }else{ 代码 }
(2)switch case 语句
$a=2 switch($a){ case 1: 代码; break;
case 2: 代码; break;
case 3: 代码; break;
default: echo "无此值"; }
3.循环语句,
(1)for循环
for($i=1;$i<10;$i++){ echo "hello world <br>"; }
(2)white循环
$a = 0; while($a<10){ echo "hello world <br>"; $a++; }
9.函数
(1)简单函数
function show(){ 代码 } show();
(2)有参数的函数
function test($a,$b){ echo $a+$b; } text(10,5);
(3)有返回值的函数,有返回值可以用变量接收
function test($a,$b){ return($a+$b); } $sum = test(10,5);
(4)可变参数的函数,参数的个数用户自己给出
function text(){ $arr = func_get_args(); //获取用户给的参数 $sum = 0; for($i=0;$i<count($arr);$i++){ $sum = $sum + $arr[$i]; } return $sum; } echo test(10,4,6,7);
(5)有默认值的函数,如果没有给参数值,则为默认值,
function test($a="张三"){ echo "姓名为:{$a}"; } echo test("李四");
如果没有给"李四"的值,则输出默认值"张三"
(6)常见函数
①随机数,rand( ); 数据随机大小, 给范围的方法为 rand(0,100); 表示0到100的随机数
②获取当前日期时间, time(); ,获取当前的时间戳,时间戳是一串数字
③格式化时间戳, date("Y-m-d H:i:s",时间戳); ,Y代表年,m代表月,d代表天,H代表小时,i代表分钟,s代表秒,格式化当前时间第二个参数可以省略,
④将日期时间编码为时间戳, strtotime("2018-1-4 14:50:45");