周一摸鱼

关于上班

小公司上班,一个字“闲”,我的大好年华,居然是这样虚度的;哈哈哈哈哈,与其这样摸鱼,还不如偷偷自我学习!

函数的预加载

代码的执行过程,词法分析——语法分析——编译——加载编译的代码——执行,在执行代码之前,函数已经加载到内存中了。

1
2
3
4
fun();
function fun(){
echo '测试一下';
}

上面例子中,在函数定义时、保存时以及预先加载了;

与函数有关的魔术常量

FUNCTION用来获取当前的函数名。

1
2
3
4
function fun(){
echo __FUNCTION__;//获取当前函数名字
}
fun();

包含文件

在网站中有相同的banner,版权等等页面,我们可以将相同的页面做成包含文件,在展示的页面中包含即可。

注意:包含文件相当于将文件的内容复制到页面中,如果包含文件有
页面结构(<html></html>),包含后,页面中就不止一个页面结构了。这与W3C定义的规范不符合,所以在包含文件中不能出现页面的结构。

包含文件语法

  1. include():可以包含多次
  2. require():可以包含多次
  3. include_once():只能包含一次,include遇到错误继续执行。
  4. require_once():只能包含一次,require遇到错误停止执行。

    终止脚本执行

    exit()die()

    exitdie的别名,终止脚本执行,终止后可以输出一个字符串。

    return

    终止当前页面的执行

    作用
  5. 终止函数执行
  6. 从函数中返回值
  7. 终止当前脚本的执行
  8. 用来做配置文件

    延迟脚本执行

    语法:sleep(秒)
    1
    2
    sleep(3); //延时3秒
    echo 'test';

foreach数组指针

  1. 指针其实也是一个变量,用来保存某个元素的地址。指针可以移动。
  2. 默认情况下,打开一个数组,指针会指向数组的第一个元素
    语法结构
    1
    2
    3
    foreach(数组 as 键=>值){
    //循环体
    }

流程图

foreach流程图
foreach流程图

foreach是循环,breakcontinue也适用于foreach循环

1
2
3
4
5
6
7
8
9
10
<?php 
$stu=array('tom','berry','ketty','rose','jiack','tony');
foreach($stu as $key=>$val){
if($key%2==0)
continue;
if($key==5)
break;
echo $key,'-',$val,'<br>';
}
?>

输出为:

1-berry

3-rose

foreach值变量支持传地址

  1. 默认是传值
    1
    2
    3
    4
    5
    6
    $stu=array('tom','berry','ketty');
    foreach($stu as $key=>$val){
    $val.=$val;
    echo $val,'<br>';
    }
    var_dump($stu);

输出结果为:

tomtom

berryberry

kettyketty

array(3){ [0]=>string(3) “tom”[1]=>string(5) “berry” [2]=>string(5) “ketty” [3]=>string(5)}

  1. 将数组元素地址付给变量
    1
    2
    3
    4
    5
    6
    $stu=array('tom','berry','ketty');
    foreach($stu as $key=>&$val){
    $val.=$val;
    echo $val,'<br>';
    }
    var_dump($stu);

输出结果为:

tomtom

berryberry

kettyketty

array(3){ [0]=>string(6) “tomtom”[1]=>string(10) “berryberry” [2]=>string(10) “kettyketty” [3]=>string(10)}

键变量不支持传地址。

foreach循环变量数组的时候,遍历的是数组的拷贝

1
2
3
4
5
6
$stu=array('tom','berry','ketty');
foreach($stu as $key=>$val){
$stu[$key]='你好'.$val;
$stu[]='李白';
}
print_r($stu);

输出结果:

Array([0]=>你好tom [1]=>你好berry [2]=>你好ketty[3]=>李白[4]=>李白[5]=>李白)

数组指针的操作

  1. key():从关联数组中取得键名,没有取到返回NULL。
  2. current():返回数组中的当前单元
  3. next():将数组中的内部指针向前移动一位
  4. prev():将数组的内部指针倒回一位
  5. reset():将数组的内部指针指向第一个单元
  6. end():将数组的内部指针指向最后一个单元


例题:将数组的元素从后往前取

例题:将数组的元素从后往前取

如果一个数组连续输出两次,必须要将指针复位。

each()

  1. 返回数组中当前的键/值对并将数组指针向前移动一步,如果内部指针穿越了数组的末尾返回false。
  2. 键值对被返回4个单元,其中包含索引数组和关联数组,下标是key和0的是键,下标是1和value的是值。
  3. each()=key()+current()+next()
  4. 如果第二次再遍历,必须通过reset()复位指针。

each

例题:通过while+each遍历数组

while+each

list()

把索引数组中的值赋给一些变量
注意:只能是索引数组,不能是关联数组

转载声明

本博客绝大部分文章均来源于互联网,通过本人收集、整理、实践从而形成总结;转载时请注明原链接即可。

特别声明

本人在此发布博文(包括但不限于汉字、拼音、阿拉伯字母 、图片、影像,以及前述之各种任意组合等等)均为随意敲击键盘所出,用于检验本人电脑键盘录入、屏幕显示的机械、光电性能,并不代表本人观点。如需要详查请直接与键盘发明者及生产厂商法人代表联系。