引用.php文件
include 和 require及once的区别
require
一般放在文件头,程序执行前会导入要引用的文件include
一般放在程序流程控制中,当程序执行时碰到才会引用,简化执行流程require
引入文件有错误时,执行会中断,并返回一个致命错误include
引入文件有错误时,会继续执行,并返回一个警告require_once
和 include_once
引入一次文件后,后面再次引用该文件会失效
MVC设计模式
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。
foreach循环中遇到的问题
先贴代码
$players =[ [ 'name'=>'James', 'age'=>'35', 'pos'=>'SF', 'skills'=>[ [ 'name'=>'score', 'level'=>'95' ], [ 'name'=>'rebound', 'level'=>'90' ], [ 'name'=>'organization', 'level'=>'95' ], [ 'name'=>'dribble', 'level'=>'90' ] ] ]]
今天我在使用foreach
输出这段代码的时候,犯了一个错误
foreach($players as $v){ echo '姓名:'.$v['name'].'<br>年龄:'.$v['age'].'<br>位置:'.$v['pos'].'<br>技能:'; forech($v['skills'] as $vv){ // skills数组循环 foreach($vv as $vvv){ echo $vvv['name'].'-'.$vvv['level']; //输出skills数组name和level } }}
这段循环中,先用二维数组$v
,向下找键(下标),输出了球员的姓名,年龄和位置,目前为止so far so good。
在输出球员技能的时候,我想如法***制再次嵌套foreach
,先用$v['skills']
找到数组键值对,再向下找到三维数组,$vv
,这个时候,$vv
指向是skills
数组中的 ['name'=>'score','level'=>'95']
,我傻一样的用$vv
的值$vvv['name']
去找数组下标,这个时候$vvv
已经指向的是$vv
下的值'name'=>'dribble','level'=>'90'
了,也就是说$vvv
已经不是一个数组了,怎么可能找得到下标呢?
后来想通这个道理后,删除了第三层foreach
,直接用$vv
找下标就可以了。
foreach($players as $v){ echo '姓名:'.$v['name'].'<br>年龄:'.$v['age'].'<br>位置:'.$v['pos'].'<br>技能:'; forech($v['skills'] as $vv){ // skills数组循环 echo $vv['name'].'-'.$vv['level']; //输出skills数组name和level }}
一维数组foreach
输出的时候,如果要找下标,要去判断$key
,不能用$value[0]
这样找下标,值哪来的下标,这点要记住了。
今天新学了一个HTML
标签,<q>
标签,以前从来没听过,quote引用的时候使用:
<p><q>今天是个伟大的日子!</q></p> //输出 “今天是个伟大的日子!”