PHP中使用foreach循环读取数组数据的方法
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP中使用foreach循环读取数组数据的方法相关的知识,希望对你有一定的参考价值。
参考技术A foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。有两种语法:foreach
(array_expression
as
$value)
statement
foreach
(array_expression
as
$key
=>
$value)
statement
第一种格式遍历给定的 array_expression 数组。每次循环中,当前单元的值被赋给 $value 并且数组内部的指针向前移一步(因此下一次循环中将会得到下一个单元)。
第二种格式做同样的事,只除了当前单元的键名也会在每次循环中被赋给变量 $key。
范例:
$a = array( "one" => 1, "two" => 2, "three" => 3, "seventeen" => 17);foreach ($a as $k => $v) echo "\$a[$k] => $v.\n";
php foreach 嵌套循环大数组很慢?
就这个循环花了10S,
我写的是用php导入excel 到mysql数据库,但是要验证code 不能重复,原本想用一个foreach循环selecte 一个一个的对比,一想到要插入1000条就要seletet 1000次这样写会很慢,结果我就用了上面这个方法 ,先用一条selecte 把数据库的数据全部查出来的到一个数组$gift,然后跟excle上传过来的数据 嵌套循环对比 ,一运行发现很慢 单嵌套循环就花了10s,我又改用第一种方法,结果才花了5S ,还快了一半。我是想问大神们,你们遇到这样的问题都是怎么处理的,有没有更好的方法?我觉得写程序这样事情经常会有
简单的就是将excel中的数据导入的数据库中(可以是另外一个表),将验证码字段建索引。然后再排查重复的,纯sql就很快了。追问
在本地测是很快几乎可以忽略,但是到服务器就不一样了,我要导入1000条就要sql 1000次,这样总感觉有问题
追答在数据库中建立索引后就很快了,不会真的执行1000次。
用卡迪尔积是效率最差的。
还有一个慢的原因可能是打开并读取excel慢。
意识就是我要用phpexcel 导入数据到数据库,导入之前还要判断导入的数据不能跟数库的数据重复 ,有重复就不插入,重复的要返回给用户
以上是关于PHP中使用foreach循环读取数组数据的方法的主要内容,如果未能解决你的问题,请参考以下文章