php若干单维数组遍历方法的比较
<?php
//a
$arr=array('a'=>'abc','b'=>123,'c'=>true);
//b
//$arr=range('a','d');
//1
for($i=0;$i<sizeof($arr);$i++)
echo $arr[$i].', ';
echo '<br />';
//2
foreach($arr as $key)
echo "$key, ";
echo '<br />';
//3
foreach($arr as $key=>$val)
echo "$key-$val, ";
echo '<br />';
//4
reset($arr);
while($item=each($arr)){
echo $item['key'].'-'.$item['value'].', ';
}
echo '<br />';
//5
reset($arr);
while(list($key,$val)=each($arr)){
echo "$key-$val, ";
}
echo '<br />';
?>
使用语句a $arr=array('a'=>'abc','b'=>123,'c'=>true); 对$arr进行初始化得到数字索引数组,输出如下:
, , ,
abc, 123, 1,
a-abc, b-123, c-1,
a-abc, b-123, c-1,
a-abc, b-123, c-1, 使用语句b $arr=range('a','d'); 对$arr进行初始化得到关联数组,输出如下:
a, b, c, d,
a, b, c, d,
0-a, 1-b, 2-c, 3-d,
0-a, 1-b, 2-c, 3-d,
0-a, 1-b, 2-c, 3-d, for循环只对数字索引有限;for和foreach遍历结束后不需要对数据进行reset()操作即可供下次遍历,而each方法则需要。
相关推荐
-
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
返回一个交集共有元素的数组(只是数组值得比较).array_intersect_assoc()函数是将键值和值绑定,一起比较交集部分.array_intersect_key()函数是将两个数组的键值进行比较,返回键值交集的数组.但实际应用中也遇到了一些小问题,正如下: 实例: 复制代码 代码如下: <?PHP $array = array("red"=>"Red","green"=>"red4","
-
PHP数组对比函数,存在交集则返回真,否则返回假
复制代码 代码如下: <?php $array1 = array('a', 'b', 'c', 'd'); $array2 = array('a', 'c'); $array3 = array_intersect($array1, $array2); if($array3) { echo '有交集'; } ?>
-
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
array_intersect() 定义和用法 array_intersect() 函数返回两个或多个数组的交集数组. 结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变. 注释:仅有值用于比较. 语法 array_intersect(array1,array2,array3...) 参数 描述 array1 必需.与其他数组进行比较的第一个数组. array2 必需.与第一个数组进行比较的数组. array3 可选.与第一个数组进行比较的数组.可以有多个.例子
-
php数组操作之键名比较与差集、交集赋值的方法
本文实例讲述了php数组操作之键名比较与差集.交集赋值的方法.分享给大家供大家参考.具体方法如下: 该实例主要实现对数组的各种常见操作.如对键名比较计算数组的差集,计算差集,给指定数组中插入一个元素,反转数组与交集赋值新的数组等. 具体代码如下: 复制代码 代码如下: //定义回调函数 function key_compare_func($key1,$key2) { if($key1==$key2) //如果两参数相等 return 0; //返回0
-
PHP两种去掉数组重复值的方法比较
去除一个数组中的重复值,可以使用foreach方法,也可以使用array_unique方法,下面的代码两种方法都使用了. <?php $arrF = array(); $arrS = array(); $intTotal = 100; $intRand = 10; for($i=0; $i < $intTotal; $i++) { $arrF[] = rand(1, $intRand); $arrS[] = rand(1, $intRand); } $arrT = array_merge($a
-
php 归并排序 数组交集
复制代码 代码如下: $a=array('1','2','3','4','22'); $b=array('1','3','4','11','22','23'); f($a, $b, 5, 6, $t); print_r($t); function f(&$a, &$b, $n, $m, &$t){ $i=0;$j=0; while($i<$n && $j<$m){ if($a[$i]==$b[$j]){ echo $a[$i]." "
-
PHP数组交集的优化代码分析
不过由于手机的参数多,且不同的手机其参数差异大,所以参数表结构通常是纵表(一个参数是一行),而不是横表(一个参数是一列),此时使用若干参数来取结果,通常就是把每个单独参数来取结果,再一起取交集. 假定每个参数会包含一千个左右的唯一结果(id int),以此为前提来模拟生成一些数据: 复制代码 代码如下: <?php $rand = function() { $result = array(); for ($i = 0; $i < 1000; null) { $value = mt_rand(1
-
PHP读取txt文件的内容并赋值给数组的代码
2010-12-15.txt的文件内容如下: 复制代码 代码如下: 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 T01 T02 T03 T04 T05 T06 T07 T08 T09 T10 T11 T12 T13 T14 T15 T16 思路如下:使用file_get_contents()获取txt文件的内容,然后通过explode()把获得的字符串转化为数组.获得数组长度可以使用count()
-
php中给js数组赋值方法
因为接口方的要求,用js中处理数据,所以需要php程序从数据库取出数值后赋值给js数组.一直没有找到很好的办法,因为PHP数组的数据编码和JS 数组的编码格式不一样,不能直接输出. 在网上搜索一通后,找到的解决的方法: PHP函数库提供了编/解码JSON的函数:json_encode()和json_decode(),可以比较方便的传递数组或对象给javascript.注意:PHP 5.2以上才绑定了JSON扩展. 在php如下写: 复制代码 代码如下: $arr = array('1',arra
-
php比较多维数组中值的大小排序实现代码
如果值没有重复的情况,可以先用array_flip()来交换键和值,然后krsort(),最后再array_flip()交换回来,就可以比较大小了.如果要截取数组,可用array_slice(). 如果有值重复的情况,就要用到一些排序算法了,不过php有很强大的函数uasort(),使用自定义的比较函数对数组中的值进行排序并保持索引关联,usort()则会重建索引. 复制代码 代码如下: function cmp($a, $b){ if ($a["vote_num"] == $b[&q
随机推荐
- 用VBS写的VBSCRIPT代码格式化工具VbsBeautifier
- 详析Spring中依赖注入的三种方式
- vue2中filter()的实现代码
- flex 简单例子(含实例效果图 源码)
- Java Benchmark 基准测试的实例详解
- ASP应用之模板采用
- c# 控件截图的简单实例
- CentOS7 Nexus安装步骤详细介绍
- php heredoc和phpwind的模板技术使用方法小结
- js仿QQ中对联系人向左滑动、滑出删除按钮的操作
- 深入浅析PHP的session反序列化漏洞问题
- 纯AJAX分页,V0.2版 下载+演示
- 详解C语言中fseek函数和ftell函数的使用方法
- jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
- jQuery中队列queue()函数的实例教程
- 微信小程序 支付功能(前端)的实现
- 详解CentOS阿里云云服务器硬盘分区及挂载
- 使用Python正则表达式操作文本数据的方法
- Python+OpenCV+pyQt5录制双目摄像头视频的实例
- python3 enum模块的应用实例详解