【摘要】:本节将对本章中比较难以理解的问题进行讲解。解答:foreach的确有循环功能,但它不是循环语句,它是PHP4.0引入的,和Perl以及其他语言很像。
本章详细介绍了PHP中流程控制语句的基本知识。本节将对本章中比较难以理解的问题进行讲解。
读者疑问:return是不是函数?什么时候用括号去括一个参数?
解答:这个问题是很多初学者遇到的问题,既然return()是语言结构而不是函数,仅在参数包含表达式时才需要用括号将其括起来。当返回一个变量时通常不用括号,也建议不要用,因为这样会降低PHP的负担。当用引用返回值时永远不要使用括号,只能通过引用返回变量,而不是语句的结果。如果使用return($a);时,其实不是返回一个变量,而是表达式($a)的值(当然,此时该值也正是$a的值)。(www.xing528.com)
读者疑问:听朋友讲起,除了本章讲解的三种循环语句之外,还有一种循环语句foreach,它和本章讲解的三个有什么不同呢?
解答:foreach的确有循环功能,但它不是循环语句,它是PHP4.0引入的,和Perl以及其他语言很像。这只是一种遍历数组的简便方法。foreach仅能用于数组,当试图将其用于其他数据类型或者一个未初始化的变量时会产生错误。有两种语法,第二种比较次要但却是第一种的有用的扩展。当foreach开始执行时,数组内部的指针会自动指向第一个单元。这意味着不需要在foreach循环之前调用reset()。除非数组被引用,foreach所操作的是指定数组的一个拷贝,而不是该数组本身。因此数组指针不会被each()结构改变,对返回的数组单元的修改也不会影响原数组。不过原数组的内部指针的确在处理数组的过程中向前移动了。假定foreach循环运行到结束,原数组的内部指针将指向数组的结尾。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。