导航:首页 > 编程语言 > php遍历查询结果

php遍历查询结果

发布时间:2023-05-24 09:50:50

A. php 怎么样遍历

第一、foreach()

foreach()是一个用来遍历数组中数据的最简单有效的方法。

<?php
$urls= array('aaa','bbb','ccc','ddd');
foreach ($urls as $url){
echo "This Site url is $url! <br />";
}
?>
显示结果:
This Site url is aaa

This Site url is bbb
This Site url is ccc
This Site url is ddd

第二、while() 和 list(),each()配合使用。

<?php

$urls= array('aaa','bbb','ccc','ddd');
while(list($key,$val)= each($urls)) {
echo "This Site url is $val.<br />";
}
?>

显示结果:

?

This Site url is aaa
This Site url is bbb
This Site url is ccc
This Site url is ddd
第三、for()运用for遍历数组

<?php
$urls= array('aaa','bbb','ccc','ddd');
for ($i= 0;$i< count($urls); $i++){
$str= $urls[$i];
echo "This Site url is $str.<br />";
}
?>
显示结果:

This Site url is aaa

This Site url is bbb
This Site url is ccc
This Site url is ddd

这几种遍历数组的方法哪个更快捷些呢,下面做个简单的测试就明白了
=========== 下面来测试三种遍历数组的速度 ===========
一般情况下,遍历一个数组有三种方法,for、while、foreach。其中最简单方便的是foreach。下面先让我们来测试一下共同遍历一个有50000个下标的一维数组所耗的时间。

<?php
$arr= array();
for($i= 0; $i< 50000; $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< count($arr); $i++){
$str= $arr[$i];
}
$time_end= GetRunTime();
$time_used= $time_end- $time_start;
echo 'Used time of for:'.round($time_used, 7).'(s)<br /><br />';
unset($str, $time_start, $time_end, $time_used);
######################################
$time_start= GetRunTime();
while(list($key, $val)= each($arr)){
$str= $val;
}
$time_end= GetRunTime();
$time_used= $time_end- $time_start;
echo 'Used time of while:'.round($time_used, 7).'(s)<br /><br />';
unset($str, $key, $val, $time_start, $time_end, $time_used);
######################################
$time_start= GetRunTime();
foreach($arr as$key=> $val){
$str= $val;
}
$time_end= GetRunTime();
$time_used= $time_end- $time_start;
echo 'Used time of foreach:'.round($time_used, 7).'(s)<br /><br />';
?>

测试结果:

Used time of for:0.0228429(s)
Used time of while:0.0544658(s)
Used time of foreach:0.0085628(s)

结果表明,对于遍历同样一个数组,foreach速度最快,最慢的则是while。从原理上来看,foreach是对数组副本进行操作(通过拷贝数组),而while则通过移动数组内部指标进行操作,一般逻辑下认为,while应该比foreach快(因为foreach在开始执行的时候首先把数组复制进去,而while直接移动内部指标。),但结果刚刚相反。原因应该是,foreach是PHP内部实现,而while是通用的循环结构。所以,在通常应用中foreach简单,而且效率高。在PHP5下,foreach还可以遍历类的属性。
希望能够喜欢。

B. php中如何遍历Select()查询到的二位数组的值

亲,你好,很高兴解答你的问题袭戚

如果你使用的是PHP5.5以上版本,可以直接使用以下代码就可以获取到:

$sysIds=array_column($array,'SysId');//$array就是你上面那个数组

如果你用的PHP还是5.5以配搏下的版本,那么你只能使用foreach循环获取了:

$sysIds=[];
foreach($arrayas$arr){
foreach($arras$key=>$value){
$sysIds[]=$value;
}
}

希望可以帮到培禅祥你哦!~~

C. 求php foreach遍历查询结果显示到table代码

<?php
$kkk=array('aaa','aaas'盯渣兄,'bbb');
echo "<table>";
foreach($kkk as $l)
{
echo "<tr><td>".$l."</td>凯袭</tr>";
}
echo "<梁塌/table>";
?>

D. php通过mysql like搜索关键词查询,所有符合数据遍历出来

<?php
$host="localhost";
$username="root";
$password="root";
$db="db4"; //库名
$mysql_table="person"; //表名
//连接数据库,面向过程
$conn=mysqli_connect($host,$username,$password);
if(!$conn){
echo "数据库连接失败";
exit;
}
//选择所要操作的数据库
mysqli_select_db($conn,$db);
//设置数据库编码格式
mysqli_query($conn,"SET NAMES UTF8");
//编写sql获取分页数据 SELECT * FROM 表名 LIMIT 起始位置,显示条数
//注意:以下id,name,age,say都是字段节点名,person是表名,db4是数据库名,think是指定的关键字.
$sql = 'SELECT id, name, age, say
FROM person
WHERE say LIKE "%think%" order by id ASC LIMIT '.($page-1)*$pageSize .",{$pageSize}";
// 节点名 关键字 节点名 可指定数量limit后可写一个指定的数字
//$sql="select * from $mysql_table"
//把sql语句传送到数据库
$result=mysqli_query($conn,$sql);
//将数据显示到table中,并未table设置格式
echo "<div class='content'>";
echo "<table border=1 cellspacing=0 width=30% align=center>";
echo "<tr><td>ID</td><td>NAME</td><td>say</td></tr>";
while ($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>{$row['id']}</td>";
echo "<td>{$row['name']}</td>";
echo "<td>{$row['say']}</td>";
echo "<tr>";
}
echo "</table>";
echo "</div>";
//释放结果
mysqli_free_result($result);
//关闭数据库
mysqli_close($conn);

E. php如何将数组遍历出来的结果相加

方岩扰法1,累加x0dx0a'x0dx0a$sum+=$value;//粗盯旦累加x0dx0a}x0dx0aecho $sum;//显则春示x0dx0a x0dx0a方法2,直接求x0dx0a

F. php遍历数据库问题

首先你要说你用的是什么数据库。用最普通的mysql数据库来说,php自带了一些操作数据库的函数。
首知灶简先你将语句写入一个变量:
$Query = "select * from A_table";
然后用mysql_query这个函数执行这条语句,并将输出结果放在一个变量中:
$Result = mysql_query($Query);
这个$Result变量就是一个资源变量,包含了所有符合条件的结果。要将结果处理,需要用另一个函数

mysql_fetch_assoc:
while($Row = mysql_fetch_assoc($Result))
{
//这里$Row就是遍历了结果的每一行。假设有搭裤个字段叫A_field,你要把它输出
echo $Row["A_field"];
//其辩码他操作类似。

}

G. 发现PHP查询MYSQL,遍历结果,会出现2倍数据(数据库1行数据2列,遍历输出4列)

问题出在mysql_fetch_array这一步,此方法的第二个参数表示你要获取的数组的类型碧链
MYSQL_ASSOC 关联数组,就是键名是id,name的
MYSQL_NUM 索引数组,键名是数字的
MYSQL_BOTH 以上悔好孙两种都有
不给第二个参数的袜纳话,默认是MYSQL_BOTH,所以就出现了你上面的结果

H. PHP 如何把两个sql查询的结果合在一起遍历

sjj568583225
(一楼)的回答
请不要用对答槐象加方法的形式解释;这样子anlod
不好理解
提清亏友问者的意思我也不是很明白,或许最后这个函数array_merge()是
anlod
想要的
我做个翻译,如果anlod还不明白
就请补充一下问题
方便我们理解空神
谢谢
解释一下:
比如你查询的两个结果:$res_1和$res_2里面的结果是:
$res_1
=
array('a','b','c');
$res_2
=
array('d','e','f');
$res
=
array_merge($res_1,$res_2
);
print_r($res);
array([0]=>'a',,[1]=>'b',[2]=>'c',[3]=>'d',[4]=>'e',[5]=>'f');
然后就可以遍历$res了。

I. php 如何循环遍历出来以下数据

这个里面是纯宽json数据(各级元素包含数组对象等),需要用到json_decode()函数来转化。因为题目给的是图片,没法实际给出代芹裤圆码解答,可以参考我以前对类似问题的解嫌塌答:网页链接

望采纳,谢谢

阅读全文

与php遍历查询结果相关的资料

热点内容
抖音算法到底是什么 浏览:126
哪个vlan技术对报文加密 浏览:570
单片机定时电路 浏览:672
山西平台服务器云主机 浏览:700
按摩肚脐解压视频 浏览:989
php55安装教程 浏览:137
云服务器怎么查找本机域名 浏览:22
qd123y压缩机参数 浏览:385
程序员妈妈怀孕 浏览:490
金普国际编程 浏览:537
java什么是引用类型 浏览:944
这是命令吗txt 浏览:314
支付宝android包名 浏览:154
eclipsemaven命令 浏览:68
24路服务器配什么cpu 浏览:466
压缩文件和解压文件哪个快 浏览:675
亚马逊云服务器视频通话 浏览:912
金融知识app哪个好 浏览:978
农行理财app收益在哪里 浏览:969
暗淡的命令名项目表示该命令 浏览:212