探讨php中遍历二维数组的几种方法详解

yipeiwu_com6年前PHP代码库

在PHP应用当中,二维数组的应用算是高频率的了,尤其遇到较为复杂的计算时,基本上都要用到二维或者多维数组的,而在编历多维数组使用的较多的应该是 for 循环遍历和 foreach 遍历两个函数了,其中没什么特殊要求的话,基本上都是在使用 foreach 遍历函数,当然,我们可以通过这两个遍历函数来组合成各种各样的输出方式。
还是老样子,一直在使用,从来未记住,简单的遍历输出还是较为简单的,下面是两个在PHP中遍历二维函数的代码片段,如下。。

使用for循环遍历

<?PHP 
//使用for循环遍历 
$arr2=array(array("张三","20","男"),array("李四","25","男"),array("王五","19","女"),array("赵六","25","女")); 
echo "<table border=2 bordercolor=red><tr><td>姓名</td><td>年龄</td& gt;<td>性别</td></tr>"; 
for($i=0;$i<4;$i++){ 
echo "<tr>"; 
for($j=0;$j<3;$j++){ 
  echo "<td>"; 
  echo $arr2[$i][$j]; 
  echo "</td>"; 
} 
echo "</tr>"; 
echo "<br>"; 
} 
echo "</table>"; 
?> 

使用foreach遍历:

<?php 
$arr = array('one'=>array('name'=>'张三','age'=>'23','sex'=>'男'), 
  'two'=>array('name'=>'李四','age'=>'43','sex'=>'女'), 
  'three'=>array('name'=>'王五','age'=>'32','sex'=>'男'), 
  'four'=>array('name'=>'赵六','age'=>'12','sex'=>'女')); 
 
foreach($arr as $k=>$val){ 
  echo $val['name'].$val['age'].$val['sex']."<br>"; 
} 
echo "<p>"; 
?> 
 
<?php 
$arr = array('one'=>array('name'=>'张三','age'=>'23','sex'=>'男'), 
  'two'=>array('name'=>'李四','age'=>'43','sex'=>'女'), 
  'three'=>array('name'=>'王五','age'=>'32','sex'=>'男'), 
  'four'=>array('name'=>'赵六','age'=>'12','sex'=>'女')); 
foreach($arr as $key=>$value){ 
foreach($value as $key2=>$value2){ 
  echo $value2; 
} 
echo "<br>"; 
}  
?> 

我们可以直接进行打印,看输出的表格文件,还是老样子,在实际的应用当中,是可以进行各种标签组合的,以满足自己的需求,像这类的代码使用频率还是蛮高的,基本上差不了几天的时间就会用上,尤其在大型的项目中,PHP一维数组,PHP二维数组,甚至是PHP多维数组,无时不刻都在程序里面跑着。

相关文章

解决PHP超大文件下载,断点续传下载的方法详解

最近导出的时候出现一个php内存溢出的问题,原因就是在于下载的时候读取生成的临时文件过大,PHP内存无法容纳,一开如是想到更改PHP内存限制,但是这个只是一个缓兵之计,于是想到了另外一个...

PHP获取url的函数代码

复制代码 代码如下: function geturl($url) { $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_...

解决php写入数据库乱码的问题

对于乱码这个问题php开发者几乎都会有碰到过,我们下面主要是介绍了php mysql数据库连接时乱码解决方法。 MYSQL数据库使用UTF-8编码的问题 1.用phpmyadmin创建...

解决File size limit exceeded 错误的方法

昨日遇到一个问题,使用Yii框架编写php脚本,将db中100多万的数据导出,运行,成功。 但是在 运行到第 49万条时,脚本终止,提示错误“File size limit exceed...

PHP 文件缓存的性能测试

PHP常用缓存方式:第一种,把需要缓存的数据进行处理,形成PHP可以直接执行的文件。在需要缓存数据的时候,通过include方式引入,并使用。第二种,把需要的数据通过serialize函...