您好,欢迎访问一九零五行业门户网

php数组处置

php数组处理
array(4) {
  [0] => array(3) {
  [id] => string(2) 24
  [frommid] => string(3) 157
  [tomid] => string(3) 157
  }
  [1] => array(3) {
  [id] => string(2) 22
  [frommid] => string(3) 157
  [tomid] => string(3) 176
  }
  [2] => array(3) {
  [id] => string(1) 4
  [frommid] => string(3) 157
  [tomid] => string(2) 25
  }
  [3] => array(3) {
  [id] => string(1) 1
  [frommid] => string(2) 25
  [tomid] => string(3) 157
  }
}
我想把[frommid]==[tomid]&&[tomid]==[frommid]处理掉 只留一条
得出的结果应该是
array(4) {
  [0] => array(3) {
  [id] => string(2) 24
  [frommid] => string(3) 157
  [tomid] => string(3) 157
  }
  [1] => array(3) {
  [id] => string(2) 22
  [frommid] => string(3) 157
  [tomid] => string(3) 176
  }
  [2] => array(3) {
  [id] => string(1) 4
  [frommid] => string(3) 157
  [tomid] => string(2) 25
  }
}
------解决方案--------------------
php code
------解决方案--------------------

php code$data = array( array(id => 24, frommid => 157, tomid => 157), array(id => 22, frommid => 157, tomid => 176), array(id => 4, frommid => 157, tomid => 25), array(id => 1, frommid => 25, tomid => 157));$marklist = array();foreach ($data as $key => $val) { $posi = md5($val['frommid'] . $val['tomid']); $anti = md5($val['tomid'] . $val['frommid']); if (isset($marklist[$posi]) || isset($marklist[$anti])) { unset($data[$key]); } else { $marklist[$posi] = $marklist[$anti] = 1; }}echo '';print_r($data);/**输出:array( [0] => array ( [id] => 24 [frommid] => 157 [tomid] => 157 ) [1] => array ( [id] => 22 [frommid] => 157 [tomid] => 176 ) [2] => array ( [id] => 4 [frommid] => 157 [tomid] => 25 )*/

其它类似信息

推荐信息