说明:常量一旦定义,里面的值和常量是不能改变和销毁的,而且常量名不能重复
1.常量的定义:
语法:define(常量名,常量值); 不能定义复合数据
- 5.x php版本:const来定义复合的数据,如数组
- 7.0 php版本:define可以定义复合的数据.如:define(ARR,[1,2,3,4,5]);
2 访问常量
说明:直接使用常量名就可以了.。如:echo NAME;
常量的使用:网站的配置文件中使用。如:当前网站路径
3.魔术常量—预定义常量
- __LINE__:文件中的当前行号
- __FILE__:文件的完整路径和文件名,如果用在被包含的文件中,则返回被办好的文件名,自php4.0.2起,__FILE__总是包含一个绝对路径.如果是符号连接,则是解析后的绝对路径,而在此前的版本有时会包含一个相对路径
- __DIR__:文件所在目录。如果用在被包括文件中,则返回被包括的文件所在目录,它等价于dimame(__FILE__)除非是i根目录。赋值目录中名不包括末尾斜杠
- __FUNCTION__:函数名称,php4.3.0新增,php5起本常量返回该函数被定义时的名字(区分大小写)在php4中该值总是小写
- __CLASS__:类的名称
- __TRAIT__:trait的名称
- __METHOD__:类的方法名
- __NAMESPACE__:当前命名空间的名称
mvc:URL传递数据: index.php:c=getuser&a=xxxx&m=index
产生随机数的函数:rand()
说明:rand:产生一个随机整数
int rand(void)
int rand(int $min, int $max)
<?php /** * @Author: admin * @Date: 2018-08-12 22:56:43 * @Last Modified by: admin * @Last Modified time: 2018-08-12 23:39:54 */ //常量的定义 define('NAME','张三'); define('PI',3.14); echo NAME,PI; const USER='admin'; echo USER; //__CLASS__:获取当前类名 class getuser{ function index(){ include './xx/index.html'; } function add(){ include './xxx/index.html'; } } //rand()随机函数 $num=rand(1,100);//随机生成1-100的整数 echo $num;
题:
- 变量处理常用的函数有哪些? 举例说出至少四个,并各举一个案例说明
- unset如何在函数内部就销毁一个全局变量,请使用的代码来说明如何销毁
- PHP基本数据类型的值传递和引用传递的区别是什么,请画出对应的内存示意图
- 一个页面server.php,并输出至少5个$_SERVER内的元素信息,并说明是什么含义,页面表现形式如下:
元素名称 | 使用形式 | 结果 | 含义 |
PHP_SELF | $_SERVER[‘PHP_SELF’] | /test/$_SERVER.php | 表示本网页路径 |
参考:PHP手册〉语言参考〉预定义变量〉$_SERVER
5.写一个表单,用来填写“用户信息”,要求出现所有的表单元素类型(除文件类型):
文本框,密码框,单选,复选,下拉,多行文本域,隐藏域
提交后显示用户所填写的所有数据。
复选框的问题:都一个name值,复选框name是一个,问:怎么实现获取多个选项的值
答案:
1.变量常用的函数:
isset():案例:$user=isset($_GET[‘user’])?$_GET[‘user’]:”;//判断是否存在
unset():案例:$a=1; unset($a);//销毁变量a
empty():案例:$a=1;if(empty($a)){echo “存在”};//判断是否为空
echo:案例:$a=1;echo $a;//打印a
var_dump():案例:$a=1; var_dump($a);//打印a
2.用unset销毁在函数中的全局变量
//只销毁局部变量 $a=1; function demo(){ global $a;//把全局变量局部声明 echo $a; unset($a);//销毁变量a echo $a; } demo();//变量a被销毁 echo $a;//a的值存在正常打印 //销毁全局变量 function un(){ global $a;//声明局部变量 unset($GLOBALS['a']); //echo $a; } un(); echo $a;//a的值没有了
3.值传递和引用传递的区别
值传递,传递过去的是数值,
引用传递,传递的是地址值
4.新建一个server.php
<?php /** * @Author: admin * @Date: 2018-08-13 00:03:26 * @Last Modified by: admin * @Last Modified time: 2018-08-13 01:13:03 */ $arrayName = array('REQUEST_URI','SCRIPT_NAME','PHP_SELF','SERVER_ADMIN','SCRIPT_FILENAME'); $arr2=array('URI 用来指定要访问的页面','包含当前脚本的路径','当前执行脚本的文件名',' Apache 服务器配置','当前执行脚本的绝对路径'); echo "<table border=1>"; echo '<tr>'; echo '<th>元素名称</th><th>使用形式</th><th>结果</th><th>含义</th>'; echo '</tr>'; foreach ($arrayName as $key => $value) { echo '<tr>'; echo '<td>'.$value.'</td>'; echo "<td>\$_SERVER['$value']</td>"; echo "<td>".$_SERVER[$value]."</td>"; echo '<td>'.$arr2[$key].'</td>'; echo '</tr>'; } echo '</table>';
5.答案
<?php /** * @Author: admin * @Date: 2018-08-13 01:15:48 * @Last Modified by: admin * @Last Modified time: 2018-08-13 02:07:11 */ //获取表单信息 $user=$_REQUEST['user']; $pass=$_REQUEST['pass']; $sex=$_REQUEST['sex']; $aihao=$_REQUEST['aihao']; $xueli=$_REQUEST['xueli']; $jieshao=$_REQUEST['jieshao']; $id=$_REQUEST['id']; ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <form action="" method="post"> 用户名:<input type="text" name="user"><br> 密码:<input type="password" name = "pass"><br> 性别:<input type="radio" name = "sex" value="男"> 男 <input type="radio" name = "sex" value="女">女 <br> 爱好:<input type="checkbox" name = "aihao[]" value="篮球">篮球 <input type="checkbox" name = "aihao[]" value="学习">学习 <input type="checkbox" name = "aihao[]" value="php">php <input type="checkbox" name = "aihao[]" value="编程">编程<br> 学历:<select name= "xueli"> <option value="小学">小学</option> <option value="中学">中学</option> <option value="大学">大学</option> </select><br> 介绍:<input type="textarea" name = "jieshao" ><br> <input type="hidden" name ="id" value="1"> <input type="submit" value="提交"> </form> <table border="1"> <tr> <td>用户名</td> <td><?php echo $user;?></td> </tr> <tr> <td>密码</td> <td><?php echo $pass;?></td> </tr> <td>性别</td> <td><?php echo $sex;?></td>> </tr> <tr> <td>爱好</td> <td><?php echo $aihao;?></td> </tr> <tr> <td>学历</td> <td><?php echo $xueli;?></td> </tr> <tr> <td>介绍</td> <td><?php echo $jieshao;?></td> </tr> <tr> <td>id</td> <td><?php echo $id;?></td> </tr> </table> </body> </html>
评论前必须登录!
注册