//php中foreach()函数与Array数组经典案例讲解
function getVal($v)
{ return $v; //可以加任意检查代码,列入要求$v必须是数字,或过滤非法字符串等。}
//以下一段代码其实很简单,对于新手还是老手都比较难读,不建议这样写代码,代码要安全,高效,易读易用。写一个别人难理解的代码并不是明智的选择。
// 读懂以下代码需要知道 foreach 循环的用法
//$_GET $_POST $_COOKIE 数组 ,PHP变量 , PHP运算符,函数以下两行代码对这些知识的一个很好运用很适合学习使用。
foreach(Array('_GET','_POST','_COOKIE') as $_request)
{
foreach($$_request as $_k => $_v)
{ ${$_k} = getVal($_v); }
}
//foreach()有两种用法:
//1: foreach(array_name as $value){ statement; }这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一步,也就是下次循环回得到下一个元素。
//2:foreach(array_name as $key => $value) { statement; } 这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。
//Array 基础知识关联数组
//$person = Array("name"=>"张三","age"=>'20'); 关联数组完全等于
//$person['name']="张三"; $person['age']=20;
// ${$_k} === $$_k; 原因先做大括号运算结果就是 $_k,在做¥$$_k运算。
//以上例子中 $_request 是个普通变量,经过第一层循环后的值分别是 _GET,_POST,_COOKIE
//$$_request;分别完全等于 $_GET , $_POST, $_COOKIE 也就是一个个数组
//getVal是个普通函数
//以上代码第一次循环后结果如下
//外层foreach第一次循环
foreach($_GET as $_k => $_v)
{ $$_k = $_v; } //假设函数getVal原样输出
//外层foreach第二次循环
foreach($_POST as $_k => $_v)
{ $$_k = $_v; } //假设函数getVal原样输出
//外层foreach第三次循环
foreach($_COOKIE as $_k => $_v)
{ $$_k = $_v; } //假设函数getVal原样输出 //假设post方法传递参数如 $_POST['age'] = "28岁"
foreach($_POST as $_k => $_v) // $_k被实际赋值age , $_v被实际赋值 28岁
{ $$_k = $_v; } //====== {$age = '28岁'} //这样大家就能清楚的理解上面一个晦涩难懂的语句的执行流程和结果,通过这个语句我们可以发现学好基础知识很重要。

php中foreach()函数与Array数组经典案例讲解的更多相关文章

  1. Java中forEach, 用来遍历数组

    这里的for是Java中forEach, 用来遍历数组的.for(int i : d) 就是遍历int型数组d的 每一次访问数组d的时候读取的数据放入int型的i中.和for(int i=0;i< ...

  2. PHP中array_merge函数与array+array的区别

    在PHP中可以使用array_merge函数和两个数组相加array+array的方式进行数组合并,但两者效果并不相同,下面为大家介绍两者具体的使用区别. 区别如下: 当下标为数值时,array_me ...

  3. jQuery基础的工厂函数以及定时器的经典案例

    1. jQuery的基本信息:  1.1 定义: jQuery是JavaScript的程序库之一,它是JavaScript对象和实用函数的封装, 1.2 作用: 许多使用JavaScript能实现的交 ...

  4. PHP中使用函数array_merge()合并数组

    如果明白数组其实就是map的话,我想你就会明白array_merge为什么要这么实现了 PHP中合并数组分成两种情况 1.如果这两个数组中有相同的字符串键名: <?php header('Con ...

  5. C# 获得枚举值中所有数据到Array(数组)中

    Array LogType = Enum.GetValues(LogTypes.登录.GetType()); public enum LogTypes { 登录, 添加, 修改, 删除, 导出, 异常 ...

  6. MyBatis中foreach传入参数为数组

    一.当只有一个参数,并且这个参数是数组时 接口方法的参数不需要添加@Param注释,collection="array" 示例 接口的方法 void deleteMulti(Str ...

  7. IT兄弟连 Java语法教程 数组 经典案例

    案例需求: 编程实现双色球中奖号码的生成 1)应用知识: ●  数组的声明 ●  数组的使用 ●  for循环 2)需求解析: 在该程序中,需要定义一个长度为7的数组,用来存储中奖号码,使用Rando ...

  8. Array数组基本案例:图书基本录入输出系统

    import java.util.Scanner; public class ArrayTest{ public static void main(String args[]){ Scanner sc ...

  9. js 中对于this 的理解的 经典案例

    function Foo(){ getName = function(){console.log(1);}; return this; }Foo.getName = function(){consol ...

随机推荐

  1. python 基础干货 01

    赋值的实现 a = 'abc' 1. 在内存中创建了'abc'字符串; 2. 在内存中创建了一个名为 a 的变量, 并把它指向刚才创建的'abc', 也就是a中保存着字符串的地址. b = a, 创建 ...

  2. IOS开发之UINavigationController详解

    UINavigationController是IOS编程中比较常用的一种容器view controller,很多系统的控件(如UIImagePickerViewController)以及很多有名的AP ...

  3. Android-用webservice连接sqlserver数据库

    以前做的东西,只要用数据库的都是在项目里自己重新做一份数据.但是这种方法是很不可取的,首先,手机内存不会很大,把数据表建在项目里无疑又增大了程序.这样一来手机的运行速度可想而知.其次,数据大的时候还是 ...

  4. Android Beam 详细实现步骤

    前言 最近没怎么写东西了,主要是在了解Beam这个东东.这方面的教程真的非常有限,找了不少资料目前还没看到一篇能够让一个新手看一遍就知道实现一个Beam功能都需要那些步骤的.而且,都是用的官方的例子, ...

  5. OC学习笔记[注意事项]

    alloc  new  retain之后都必须要调用release方法 计数器要变只有这几种方法 retain release alloc new copy方法才会使计数器改变,谁想用人家对象,就对他 ...

  6. Load Balance Tomcat with Nginx and Store Sessions in Redis--reference

    An awkward title, but that’s exactly what we’re going to do. For some time, I was looking for a way ...

  7. C#绘制圆形时钟

    本文由作者参考部分案例后加以修改完成: 参考链接如下: http://blog.csdn.net/xuemoyao/article/details/8001113 http://wenku.baidu ...

  8. jquery刷新iframe页面的方法

    1,reload 方法,该方法强迫浏览器刷新当前页面. 语法:location.reload([bForceGet]) 参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当 ...

  9. 路E施工管理ERP系统

      前  景   目前公路工程由于点多.线长.面广.周期久.投资大等原因,管理很难到位,施工过程中存在着大量问题: 规章制度欠缺或不健全,即便是有好的规章制度,在施工过程中也往往形同虚设,不能与现场施 ...

  10. 探索开发跨平台移动App,谈Jquery Mobile 和PhoneGap应用

    随着智能手机等设备的大范围普及,各形各色的移动端软件随之既出.各互联网运营商也都在抢占移动软件的占有率.不惜采用财力进行宣传推广.例如,通过手机淘宝客户端购买物品总比pc端要便宜,360手机助手下载对 ...