php 简单数组问题
2012-11-21 18:36
218 查看
问题:Array ( [0] => [1] => 3 2 [2] => 4 5 [3] => 3 4 [4] => 2 3 [5] => 1 2 )
我想检查数组当中是否存在两个数是相反的:比如3 2 和2 3
2 3 之间是空格隔开
自己写了一个简单的:
感觉用了两次foreach和explode,代码冗余,效率不高。
后来论坛发帖,有人这样写:
但还是两次foreach
后来又有人回帖:
方法确实不错:
我想检查数组当中是否存在两个数是相反的:比如3 2 和2 3
2 3 之间是空格隔开
自己写了一个简单的:
foreach($array as $value) { $v=explode(" ",$value); foreach($array as $num){ $m=explode(" ",$value); if($m[0]==$v[1]&&$m[1]==$v[0]){ return "get"; } } }
感觉用了两次foreach和explode,代码冗余,效率不高。
后来论坛发帖,有人这样写:
foreach($array as $value) { $v=explode(" ",$value); foreach($array as $num){ if(strcmp($value,strrev($num))==0){ return "get"; } } }
但还是两次foreach
后来又有人回帖:
foreach($ar as $v) { $t[] = join(' ', array_reverse(explode(' ', $v))); } print_r(array_intersect($ar, $t));
方法确实不错:
$tmp = array(); foreach($arr as $item) { $newItem = implode(' ', array_reverse(explode(' ', $item))); if(isset($tmp[$newItem])) { echo 'you get it!'; print_r($newItem); } $tmp[$item] = true; }
相关文章推荐
- php打乱数组二维数组多维数组的简单实例
- php 操作数组array_merge使用时数组包含数字键名的问题解决方法
- Network Saboteur 简单dfs(), 计算怎样分两个集合 最优问题 用flag[] 数组标记
- PHP学习笔记——数组下标的细节问题
- 转载部分代码,窗口点击问题,顺序,初始化数组,简单结构体
- php数组中的指针问题
- wait, notify, notifyAll, 简单数组模拟队列实现读者写者问题。
- php环境的搭建问题(简单记录)
- R语言GLM包相关问题 PHP数组定义及比较 git pull 2016.08.04回顾
- PHP实现对数组简单求交集,差集,并集功能示例
- PHP 在数组中搜索给定的简单实例 array_search 函数
- php 中遍历数组时使用引用出现的问题
- 【最大子数组问题】php实现
- php数组覆盖问题
- 关于PHP数组重新索引问题
- php打乱数组二维数组多维数组的简单实例
- php将数组转化为json数据遇到的问题解决
- php的数组问题
- php中用foreach改变数组的值的问题