1、PHP的运行方式
(1)通过虚拟相对路径来访问: http://localhost/myitems/my.php也就是我们说的网址的方式,不能直接物理路径来访问。(2)通过命令来访问:在此路径下打开cmd“D:\PHP\PHPWAMP_8.8.8.8IN\phpwamp\server”,然后输入“ php php文件的物理路径”。多用于计划任务,定时做一些事情。
2、PHP的基本语法
(1)文件的名称、路径中不能出现中文。(2)文件的后缀是.php,里面可以有HTML代码。PHP可以嵌入到HTML代码的任何位置。(3)PHP代码标签:<?php 这里写PHP的代码 ?>(4)PHP的语句以分号(;)结束。(5)字符串以点连接:(.)
3、PHP的几种输出
echo:用于输出字符串、数字;var_dump(输出的内容):多用于复合数据类型,比如数组、对象,同样可以输出字符串信息,基本用于开发者在开发过程中的数据调试。exit():多用于断点调试,exit后面的代码不会执行。
4、PHP的大小写问题
<?php$name='周凯';echo $NAME; //undefinedECHO $name; //周凯var_dump($name); //周凯?>
(1)自定义变量是区分大小写的。(2)内置的函数或者方法、变量是不区分大小写的。
5、PHP的变量
(1)变量的声明:不用var,PHP是弱类型语言,在定义的时候不需要声明类型,$变量名,变量名可由字母、数字、下划线组成,第一个字符不能是数字,支持中文,但几乎不用,变量名区分大小写。(2)字符串型:引号引起来的,单引号或者双引号。双引号会分析字符串里面是否有变量,单引号是把整个字符串全部看做字符,更多的时候我们选择使用单引号。<?php$str=18;echo "$str"; //18echo '我的年龄是$str岁'; //我 的年龄是$str岁echo '我的值是:'.$str; //我的值是:18?>注:在字符串中输入引号时需用到转义字符。<?php$str3="我想\"输出\"引号";echo $str3; // 我想"输出"引号?>(3)整型:整数,10,20,-70(4)浮点型:10.20,1201.098(5)布尔型:TRUE、FALSE(6)数组:复合类型,同一类型的数据集合。
数组的两种定义方式:<?php$arr1=[1,2,3]; //需要PHP的版本在5.4以上var_dump ($arr1); // array(3) { [0]=> int(1) [1]=> int(2) [2]=> int(3) }echo "<hr>";$arr2=array(4,5,6);var_dump ($arr2); // array(3) { [0]=> int(4) [1]=> int(5) [2]=> int(6) }echo "<hr>";echo $arr2[1] //5 访问数组元素的方式?>枚举数组:下标是从0开始的,1,2,3...关联数组:下标是代表一定的意义的,是针对其中一个元素的,不会受到数组增删的影响。<?php$student=array('name'=>'王大锤','age'=>'23','sex'=>'男');echo $student['age']; //23echo "<hr>";echo $student['name']; //王大锤?>多维数组:二维数组、三维数组...<?php$students=array(array('name'=>'王大锤','age'=>'23','sex'=>'男'),array('name'=>'王中锤','age'=>'20','sex'=>'男'),array('name'=>'王小锤','age'=>'18','sex'=>'男'));echo $students[1]['name'].'的年龄是'.$students[1]['age']; // 王中锤的年龄是20?>(7)对象类型:class(8)资源类型
6、PHP的变量赋值
(1)变量的复制
<?php$a=3;$b=$a;echo $b; //3?>
(2)变量的地址引用
<?php$c='王大锤';$d='王中锤';$c=&$d; //变量c此时指向d的地址$c='王小锤';echo $d; //王小锤echo $c; //王小锤?>
(3)变量的名称是可变的,也就是可变变量
<?php$name='username';$username='王大锤';echo $$name; //王大锤
echo "<hr>";echo $username.'是河南人'; // 王大锤是河南人echo "$username"; // 王大锤echo "$username是好人"; // Undefined variable: username是好人echo "{$username}是演员"; // 王大锤是演员?>
7、PHP变量的作用域及静态变量
(1)变量的作用域
<?php$r=1;function fn(){$r=3;echo $r;}fn(); //3echo $r; //1?>
<?php$r=1;function fn(){global $r; //global可以把一个变量声明为全局变量$r=3;echo $r;}fn(); //3echo $r; //3?>
(2)静态变量:static
<?phpfunction fn1(){$t=1;$t++;echo $t;}fn1(); /2fn1(); /2fn1(); /2?>
<?phpfunction fn1(){static $t=1;$t++;echo $t;}fn1(); /2fn1(); /3fn1(); /4?>
8、PHP函数定义和默认值的设置
内置函数非常丰富,很多我们需要使用的功能点内置函数已做好,比如:统计数组的元素个数、字符串长度、截取字符串、字符串和数组相互转换。如果一个变量需要设置默认值,请把它放在形参的最后面。<?phpfunction add($a,$b=2){return $a+$b;}echo add(3,6); //9echo "<hr>";echo add(4); //6?>
9、PHP的内置函数
(因内置函数太多,此处仅举例)(1)字符串转换成数组
<?php$students='学生1,学生2,学生3,学生4';$arr=explode(',',$students); //以第一个参数为分割点,把字符串$students转换成数组var_dump($arr); // array(1) { [0]=> string(37) "学生1,学生2,学生3,学生4" }?>
(2)数组转换成字符串
<?php$student=array('name'=>'王大锤','age'=>'23','sex'=>'男');
echo implode('|',$student); // 王大锤|23|男 以第一个参数为连接点,把数组$student转换成字符串?>
(3)得到变量的类型
<?php$student=array('name'=>'王大锤','age'=>'23','sex'=>'男');echo gettype($student); // array?>
(4)检查变量是否为指定类型
<?php//检查是否是数组$student=array('name'=>'王大锤','age'=>'23','sex'=>'男');$bool=is_array($student);var_dump($bool); // bool(true)//检查是否是字符串echo "<hr>";$bool=is_string($student);var_dump($bool); // bool(false)?>
10、PHP的常量
常量是个固定的值,一旦定义,不可修改。为什么要使用常量?(1)起到见名知意的作用。(2)一处修改,处处修改。常量的定义方法:<?phpdefine('classname', 'H517072');define('classname', 'H51708'); // Constant classname already defined in 已定义,不可修改echo classname; //H517072?>
如何检查一个常量是否定义?<?phpif( !defined ('classname1')){define ('classname1','H51708');}echo classname1; //H51708?>
11、PHP的表单数据接收
html文件:
<form action="./my.php" method=" POST ">账号: <input type="text" name="username" id="username">密码: <input type="password" name="passwd" id="passwd">电话: <input type="text" name="tel" id="tel"><input type="submit" value="提交"><input type="reset" value="重置"></form>
PHP接收文件:
<?php$data=$ _POST ; //若html文件中是GET方法传输数据,此处也应用GET接收//若不清楚html文件是何种方法,可直接用request接收: $data=$_REQUEST;var_dump($data); // array(3) { ["username"]=> string(9) "王大锤" ["passwd"]=> string(6) "123455" ["tel"]=> string(11) "0373-100287" }?>