【PHP-我在用这个数组和foreach做错什么?】教程文章相关的互联网学习教程文章

xml-微信多图文foreach验证失败,求找茬!头要炸了!

xmlphp微信 请问这段代码哪里有错? $newsArr = array( array("Title"=>"this is first item", "Description"=>"this is first item description", "PicUrl"=>"http://img4.imgtn.bdimg.com/it/u=2943793272,3641314298&fm=21&gp=0.jpg", "Url"=>"http://www.baidu.com" ), array("Title"=>"this is second item", "Description"=>"...

foreach使用&引用赋值要注意的问题_PHP

foreach 通过在 $value 之前加上 & 很容易就能修改数组的单元,如: PHP代码foreach($arr as &$value){ $value .= 4; } 但这个用法也很容易造成错误,而且也不容易找。看例子更直截了当: PHP代码$arr = array('a','b','c'); $arr2 = array('d', 'e', 'f'); foreach($arr as &$value){//习惯用$value或$val $value .= '4'; } //都处理完毕我们在页面模版输出,首先输出$arr2 foreach($arr2 as $value){//习惯...

PHP中foreach循环中使用引用要注意的地方_PHP

代码如下:foreach ($array as &$row) { $row = explode(/, $row); } foreach ($array as $row) { //do something } 这么写,在第二个循环会出逻辑错误,加入第二个循环中do something的地方是输出$row,循环到最后一个的时候的输出是倒数第二个元素,而不是最后一个 要这么写 代码如下:foreach ($array as &$row) { $row = explode(/, $row); } unset($row); foreach ($array as $row) { //do something } 或者第一个循环这么写...

PHP中for与foreach的区别分析_PHP

注意: 除非数组是被引用,foreach 所操作的是指定数组的一个拷贝,而不是该数组本身。因此数组指针不会被 each() 结构改变,对返回的数组单元的修改也不会影响原数组。 1. 自php5起,foreach 还可能遍历对象的属性。 2. 自php5起,foreach 可以很容易地通过在 $value 之前加上 & 来修改数组的单元,此方法将以引用赋值而不是拷贝一个值。 代码如下:$arr = array(1, 2, 3, 4); foreach ($arr as &$value) { $value = $value * 2; }...

php中处理mysql_fetch_assoc返回来的数组不用foreach----echo_PHP

代码如下:$id = intval($_GET[id]); $row = $db->getResult($db->query("select * from ".$t."product where id=$id;")); $rows = $row[0];//处理mysql_fetch_assoc返回来的数组 不用foreach----echo!

php中用foreach来操作数组的代码_PHP

foreach()有两种用法: 代码如下:foreach(array_name as $value) { statement; } 这里的array_name是你要遍历的数组名,每次循环中,array_name数组的当前元素的值被赋给$value,并且数组内部的下标向下移一 步,也就是下次循环回得到下一个元素。 代码如下:foreach(array_name as $key => $value) { statement; } 这里跟第一种方法的区别就是多了个$key,也就是除了把当前元素的值赋给$value外,当前元素的键值也会在每次循环中...

PHP循环语句笔记(foreach,list)_PHP

一般foreach用的比较多 代码如下:$price=array('apple'=>10,'orange'=>20,'banner'=>30); foreach($price as $key=>$value) { echo $key.'=>'.$value.''; } echo ''; ?> 还有个更高级和常见的方法 代码如下:$shuiguo=array('apple'=>10,'orange'=>20,'banner'=>30); while(list($changpin,$jiage)=each($shuiguo)) { echo "$changpin=>$jiage".''; } ?> 以前还真没怎么关注下,今天自己动手,还不错,又了解新的东西了,还是自...

PHP中使用foreach和引用导致程序BUG的问题介绍_PHP

代码如下:$a = array(1, 2); $b = array(11, 12); foreach($a as &$r){ } foreach($b as $r){ } echo $a[1]; // 输出 12 两个的循环的本意可能是: 第一个循环需要在循环中修改元素的内容, 所以使用引用; 但第二个循环只是把 $r 当作一个临时变量. 可是, 为什么 $a[1] 的值发生了改变呢? 当对 $a 的迭代完成后, $r 是 $a[1] 的引用, 改变 $r 的值, 就是改变 $a[1]. 这时, 你可以会奇怪, 代码中并没有修改 $r, 也没有修改 $a[1] 呀?...

php循环语句for()与foreach()用法区别介绍_PHP

for 循环是 PHP 中最复杂的循环结构。它的行为和 C 语言的相似。 for 循环的语法是: for (expr1; expr2; expr3) statement 第一个表达式(expr1)在循环开始前无条件求值一次。 expr2 在每次循环开始前求值。如果值为 TRUE,则继续循环,执行嵌套的循环语句。如果值为 FALSE,则终止循环。 expr3 在每次循环之后被求值(执行)。 每个表达式都可以为空。expr2 为空意味着将无限循环下去(和 C 一样,PHP 认为其值为 TRUE)。这可能...

深入for,while,foreach遍历时间比较的详解_PHP

这个是从别人空间里看来的,不过自己还真从来没这么做过他们三者之间的比较,今天也学习了一下。 代码如下:$arr = array();for($i = 0; $i $arr[] = $i*rand(1000,9999);}function GetRunTime(){list($usec,$sec)=explode(" ",microtime());return ((float)$usec+(float)$sec);}/*=============================================*/$time_start = GetRunTime();for($i = 0; $i $str = $arr[$i];}$time_end = GetRunTime();$time_use...

如何在smarty中增加类似foreach的功能自动加载数据_PHP

在smarty中使用自定义插件来加载数据(见:编写Smarty插件在模板中直接加载数据的详细介绍),在使用的时候还是感觉不够方便,灵机一动就想写成类似foreach那种标签:第一步:在Smarty_Compiler.class.php的_compile_tag函数中增加: 代码如下://加载数据的开始标签case 'load': $this->_push_tag('load'); return $this->_complie_load_start($tag_args); break;//加载数据的结束标签case '/load': $this->_pop_tag('load'); retu...

深入解析php中的foreach问题_PHP【图】

前言:php4中引入了foreach结构,这是一种遍历数组的简单方式。相比传统的for循环,foreach能够更加便捷的获取键值对。在php5之前,foreach仅能用于数组;php5之后,利用foreach还能遍历对象(详见:遍历对象)。本文中仅讨论遍历数组的情况。foreach虽然简单,不过它可能会出现一些意外的行为,特别是代码涉及引用的情况下。下面列举了几种case,有助于我们进一步认清foreach的本质。问题1: 代码如下:$arr = array(1,2,3);foreac...

深入解析php中的foreach函数_PHP

Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。 有两种语法: 代码如下:foreach (array_expression as $value) statementforeach (array_expression as $key => $value) statement例子1: 代码如下:$arr=array(1,2,3,4);foreach($arr as $value){ echo $value."";}?>例子2: 代码如下:$arr=a...

php中如何使对象可以像数组一样进行foreach循环_PHP

刚接触到题的时候,我也没有考虑到Iterator模式,试了几个一般想法,失败以后。。。。就直接去翻看了foreach的源码实现,期望发现foreach处理对象的时候是否有什么特殊性,可以做为突破口。 跟踪了半天以后发现了核心逻辑中的一个奇怪的switch: 代码如下:switch (zend_iterator_unwrap(array, &iter TSRMLS_CC)) { default: case ZEND_ITER_INVALID: ..... break case ZEND_ITER...

ThinkPHP之foreach标签使用概述_PHP

ThinkPHP ThinkPHP模板的foreach标签用于在模板中循环输出数据集或者对对象进行遍历输出。 相对于volist标签而言,foreach标签没有volist标签那么多的功能,却可以对对象进行遍历输出,而volist标签通常是用于输出数组。 foreach标签用法如下:用 户 名:{$vo.username} 电子邮件:{$vo.email} 注册时间:{$vo.regdate|date="Y-m-d H:i",###}foreach标签中的name为必选项,表示要输出的模板变量;item也是必选项,表示循环单元变量...