php中foreach()函数与Array数组经典案例讲解
1 //php中foreach()函数与Array数组经典案例讲解 2 function getVal($v) 3 { return $v; //可以加任意检查代码,列入要求$v必须是数字,或过滤非法字符串等。} 4 //以下一段代码其实很简单,对于新手还是老手都比较难读,不建议这样写代码,代码要安全,高效,易读易用。写一个别人难理解的代码并不是明智的选择。 5 // 读懂以下代码需要知道 foreach 循环的用法 6 //$_GET $_POST $_COOKIE 数组 ,PHP变量 , PHP运算符,函数以下两行代码对这些知识的一个很好运用很适合学习使用。 7 foreach(Array('_GET','_POST','_COOKIE') as $_request) 8 { 9 foreach($$_request as $_k => $_v) 10 { ${$_k} = getVal($_v); } 11 } 12 //foreach()有两种用法: 13 //1: foreach(array_name as $value){ statement; }这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一步,也就是下次循环回得到下一个元素。 14 //2:foreach(array_name as $key => $value) { statement; } 这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中被赋给变量$key。 15 //Array 基础知识关联数组 16 //$person = Array("name"=>"张三","age"=>'20'); 关联数组完全等于 17 //$person['name']="张三"; $person['age']=20; 18 // ${$_k} === $$_k; 原因先做大括号运算结果就是 $_k,在做¥$$_k运算。 19 //以上例子中 $_request 是个普通变量,经过第一层循环后的值分别是 _GET,_POST,_COOKIE 20 //$$_request;分别完全等于 $_GET , $_POST, $_COOKIE 也就是一个个数组 21 //getVal是个普通函数 22 //以上代码第一次循环后结果如下 23 //外层foreach第一次循环 24 foreach($_GET as $_k => $_v) 25 { $$_k = $_v; } //假设函数getVal原样输出 26 //外层foreach第二次循环 27 foreach($_POST as $_k => $_v) 28 { $$_k = $_v; } //假设函数getVal原样输出 29 //外层foreach第三次循环 30 foreach($_COOKIE as $_k => $_v) 31 { $$_k = $_v; } //假设函数getVal原样输出 32 33 //假设post方法传递参数如 $_POST['age'] = "28岁" 34 foreach($_POST as $_k => $_v) // $_k被实际赋值age , $_v被实际赋值 28岁 35 { $$_k = $_v; } //====== {$age = '28岁'} 36 37 //这样大家就能清楚的理解上面一个晦涩难懂的语句的执行流程和结果,通过这个语句我们可以发现学好基础知识很重要。
微信号:tieniu6636
分类:
PHP开发
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类