
正文
php批量循环读取数据 php循环处理大量数据
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
PHP中使用foreach循环读取数组数据的方法
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";}
相关问答
Q1: php 循环读取数据问题
。。。。。。
这个函数???令人很迷惑
它的逻辑是什么呢?为什么是先判断 $this-error,而不是query后再判断呢?
还有以下一句php批量循环读取数据;
return odbc_exec($this-link,$sql) or $this-display_error($sql);
目的是想如果odbc_exec 成功则返回结果集,否则就输出错误吗?但事实上是不对的。等价于以下php批量循环读取数据:
return (odbc_exec($this-link,$sql) or $this-display_error($sql));
显然,每次都display_errorphp批量循环读取数据了,不管是否成功
这是函数odbc_fetch_row的定义:
odbc_fetch_row
(PHP 4, PHP 5)
odbc_fetch_row — Fetch a row
Description
bool odbc_fetch_row ( resource $result_id [, int $row_number] )
If odbc_fetch_row() was successful (there was a row), TRUE is returned. If there are no more rows, FALSE is returned.
odbc_fetch_row() fetches a row of the data that was returned by odbc_do() / odbc_exec(). After odbc_fetch_row() is called, the fields of that row can be accessed with odbc_result().
If row_number is not specified, odbc_fetch_row() will try to fetch the next row in the result set. Calls to odbc_fetch_row() with and without row_number can be mixed.
To step through the result more than once, you can call odbc_fetch_row() with row_number 1, and then continue doing odbc_fetch_row() without row_number to review the result. If a driver doesn't support fetching rows by number, the row_number parameter is ignored.
可以看到,odbc_fetch_row并不像其它函数例如mysql_fetch_row那样返回一个数组,而是返回一个布尔型的变量,然后在用odbc_result获取指定字段的值。
修改如下:
?
$databasepath="database.mdb";//写成常量,define('databasepath',"database.mdb");赋值给变量$databasepath=databasepath;
$dbusername="";
$dbpassword="";
$access=new Access($databasepath,$dbusername,$dbpassword,true);
$conn=$access-query("select * from admin");
while (odbc_fetch_row($conn)) {
?
tr
td class="td1"?=odbc_result($conn, "name")?/td
/tr
tr
td class="td1"?=odbc_result($conn, "area")?/td
/tr
?php
}
$access-close();
?
请下载PHP参考手册
Q2: 求 php 循环执行大量数据 解决办法。
php批量循环读取数据你用网页php批量循环读取数据的方式php批量循环读取数据,让人点击,服务器采集,简直是弱爆了。每个人的点击循环1000次,来个100人同时点,php批量循环读取数据你要用的是普通的虚拟机就不行了。
最好是换种方式实现,不要通过网页进行采集。
可以非常简单的在数据库的表,创建一个采集队列,后台执行一个crontab的计划任务,去完成队列里的采集任务。
Q3: php怎么循环数据库里的内容
您好,可参考如下思路,然后结合自己的业务逻辑即可:
?php
//首先链接数据库
$conn = mysql_connect('主机名','数据库登陆用户名','数据库登陆密码') or die('链接数据库失败');
//选择数据库
mysql_select_db( 'test',$conn );
//假设test数据库中有文章表,article,表有字段 id,title,create_time 那么可采用如下代码循环读出里面数据
//进行SQL查询-查询article中的数据并按照id倒序排列
$sql = 'SELECT *FROM article ORDER BY id DESC';
//获取执行结果
$result = mysql_query( $sql,$conn );
if( !$result ) die( '执行SQL语句失败' );
//循环读出结果集中的数据
while( $row = mysql_fetch_assoc( $result ) )
{
//输出数据
echo $row['id'].'--'.$row['title'].'--'.$row['create_time'].'br/';
}
//如果test中有三条数据,比如下列数据
//id title create_time
//1 文章标题1 2014/10/31 14:20
//2 文章标题2 2014/11/01 15:12
//3 文章标题3 2014/11/03 12:10
//那么执行代码后,网页应显示如下:
//3--文章标题3--2014/11/03 12:10
//2--文章标题2--2014/11/01 15:12
//1--文章标题1--2014/10/31 14:20
?
关于php批量循环读取数据和php循环处理大量数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。








