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读取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 归并排序 数组交集
复制代码 代码如下: $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数组对比函数,存在交集则返回真,否则返回假
复制代码 代码如下: <?php $array1 = array('a', 'b', 'c', 'd'); $array2 = array('a', 'c'); $array3 = array_intersect($array1, $array2); if($array3) { echo '有交集'; } ?>
-
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数组函数序列之array_intersect() 返回两个或多个数组的交集数组
array_intersect() 定义和用法 array_intersect() 函数返回两个或多个数组的交集数组. 结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变. 注释:仅有值用于比较. 语法 array_intersect(array1,array2,array3...) 参数 描述 array1 必需.与其他数组进行比较的第一个数组. array2 必需.与第一个数组进行比较的数组. array3 可选.与第一个数组进行比较的数组.可以有多个.例子
-
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
返回一个交集共有元素的数组(只是数组值得比较).array_intersect_assoc()函数是将键值和值绑定,一起比较交集部分.array_intersect_key()函数是将两个数组的键值进行比较,返回键值交集的数组.但实际应用中也遇到了一些小问题,正如下: 实例: 复制代码 代码如下: <?PHP $array = array("red"=>"Red","green"=>"red4","
-
php比较多维数组中值的大小排序实现代码
如果值没有重复的情况,可以先用array_flip()来交换键和值,然后krsort(),最后再array_flip()交换回来,就可以比较大小了.如果要截取数组,可用array_slice(). 如果有值重复的情况,就要用到一些排序算法了,不过php有很强大的函数uasort(),使用自定义的比较函数对数组中的值进行排序并保持索引关联,usort()则会重建索引. 复制代码 代码如下: function cmp($a, $b){ if ($a["vote_num"] == $b[&q
-
php中给js数组赋值方法
因为接口方的要求,用js中处理数据,所以需要php程序从数据库取出数值后赋值给js数组.一直没有找到很好的办法,因为PHP数组的数据编码和JS 数组的编码格式不一样,不能直接输出. 在网上搜索一通后,找到的解决的方法: PHP函数库提供了编/解码JSON的函数:json_encode()和json_decode(),可以比较方便的传递数组或对象给javascript.注意:PHP 5.2以上才绑定了JSON扩展. 在php如下写: 复制代码 代码如下: $arr = array('1',arra
-
PHP数组交集的优化代码分析
不过由于手机的参数多,且不同的手机其参数差异大,所以参数表结构通常是纵表(一个参数是一行),而不是横表(一个参数是一列),此时使用若干参数来取结果,通常就是把每个单独参数来取结果,再一起取交集. 假定每个参数会包含一千个左右的唯一结果(id int),以此为前提来模拟生成一些数据: 复制代码 代码如下: <?php $rand = function() { $result = array(); for ($i = 0; $i < 1000; null) { $value = mt_rand(1
随机推荐
- AJAX架构之Dojo篇
- ajax传递多个参数具体实现
- Java中的Runnable,Callable,Future,FutureTask的比较
- 使用设计模式中的Singleton单例模式来开发iOS应用程序
- C# TreeView读取数据库简单实例
- C++基于Directx MMX实现的图像灰度转换代码
- Fatal: the Postfix mail system is already running 解决办法
- jquery1.4 教程二 ajax方法的改进
- 在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
- AJAX 支持搜索引擎问题分析
- 利用JS自动打开页面上链接的实现代码
- JS非Alert实现网页右下角“未读信息”效果弹窗
- 详解C语言求两个数的最大公约数及最小公倍数的方法
- 图片onload事件触发问题解决方法
- 利用java实现邮箱群发功能
- Android通过ImageView设置手指滑动控件缩放
- js作用域和作用域链及预解析
- Spring Boot实现图片上传/加水印一把梭操作实例代码
- Python自定义一个异常类的方法
- golang双链表的实现代码示例