PHP:两个二维数组取交集的问题

在程序开发中数组一直是使用频率最高的数据类型之一。所以各种常用使用方法很多。今天分享一个二维数组取交集的问题。

数组一:(该数组仅为示例)

  1. array(4) {
  2.     [0]=>{["c_id"]=> string(1) "1"
  3.                ["info"]=> string(2) "ok"
  4.                ["infocode"]=> string(5) "10000"
  5.                ["locations"]=> string(32) "113.631375054254,34.745428602431" }
  6.     [1]=>{["c_id"]=> string(1) "1"
  7.                ["info"]=> string(2) "ok"
  8.                ["infocode"]=> string(5) "10000"
  9.                ["locations"]=> string(32) "113.631375054254,34.745428602431" }
  10.     [2]=>{["c_id"]=> string(1) "2"
  11.                ["info"]=> string(2) "ok"
  12.                ["infocode"]=> string(5) "10000"
  13.                ["locations"]=> string(32) "113.631375054254,34.745428602431" }
  14.     [3]=>{["c_id"]=> string(1) "2"
  15.                ["info"]=> string(2) "ok"
  16.                ["infocode"]=> string(5) "10000"
  17.                ["locations"]=> string(32) "113.631375054254,34.745428602431" }
  18. }

数组二:

  1. array(4) {
  2.     [0]=>{["c_id"]=> string(1) "1"
  3.                ["area"]=> string(2) "zhengzhou"
  4.                ["age"]=> string(5) "23"
  5.                ["sex"]=> string(32) "1" }
  6.     [1]=>{["c_id"]=> string(1) "2"
  7.                ["area"]=> string(2) "shanghai"
  8.                ["age"]=> string(5) "19"
  9.                ["sex"]=> string(32) "2" }
  10.    [2]=>{["c_id"]=> string(1) "3"
  11.                ["area"]=> string(2) "shanghai"
  12.                ["age"]=> string(5) "19"
  13.                ["sex"]=> string(32) "2" }
  14.     [3]=>{["c_id"]=> string(1) "4"
  15.                ["area"]=> string(2) "shanghai"
  16.                ["age"]=> string(5) "19"
  17.                ["sex"]=> string(32) "2" }
  18. }

实现功能:将数组二中c_id=1的信息加在数组一中c_id=1的信息后面,命名为staff,组成新数组。

  1. function arrcomb($arr1,$arr2){
  2.         foreach($arr1 as $key1=>$value1){
  3.             foreach($arr2 as $key2=>$value2){
  4.                 if($value1['c_id']==$value2['c_id']){
  5.                     $arr1["$key1"]['staff']=$value2;
  6.                 }
  7.             }
  8.         }
  9.         return $arr1;
  10.     }

 

你想把广告放到这里吗?

发表评论

您必须 登录 才能发表留言!