fork download
  1. <?php
  2.  
  3. $A1 = Array
  4. (
  5. "0" => Array
  6. (
  7. "match" => "1",
  8. "when" => "2013-10-13 15:00:00",
  9. "a" => "AD",
  10. "b" => "NiP",
  11. "winner" => "c",
  12. "closed" => "1",
  13. "event" => "Fragbite Masters",
  14. "format" => "3",
  15. ),
  16. "1" => Array
  17. (
  18. "match" => "2",
  19. "when" => "2013-10-13 15:00:00",
  20. "a" => "VG",
  21. "b" => "AD",
  22. "winner" => "a",
  23. "closed" => "1",
  24. "event" => "Starseries",
  25. "format" => "5",
  26. )
  27. );
  28.  
  29. $A2 = Array
  30. (
  31. "0" => Array
  32. (
  33. "match" => "1",
  34. "a" => "58",
  35. "b" => "107"
  36. ),
  37. "1" => Array
  38. (
  39. "match" => "2",
  40. "a" => "174",
  41. "b" => "162"
  42. )
  43. );
  44.  
  45. function key_compare_func($arr1, $arr2)
  46. {
  47. $newarray = array();
  48. $match = "match";
  49. $whereKey1 = "a";
  50. $whereKey2 = "b";
  51. $newKey1 = "per_a";
  52. $newKey2 = "per_b";
  53.  
  54. if(is_array($arr1) && is_array($arr2)){
  55. if($arr1[$match] == $arr2[$match] ){
  56. $newarray = array_merge($arr1, array($newKey1 => $arr2[$whereKey1], $newKey2 => $arr2[$whereKey2]));
  57. }
  58. }
  59. return $newarray;
  60. }
  61.  
  62. $modifiedArray = array_map("key_compare_func",$A1, $A2);
  63. echo '<pre>';print_r($modifiedArray);echo '</pre>';
Success #stdin #stdout 0.02s 52432KB
stdin
Standard input is empty
stdout
<pre>Array
(
    [0] => Array
        (
            [match] => 1
            [when] => 2013-10-13 15:00:00
            [a] => AD
            [b] => NiP
            [winner] => c
            [closed] => 1
            [event] => Fragbite Masters
            [format] => 3
            [per_a] => 58
            [per_b] => 107
        )

    [1] => Array
        (
            [match] => 2
            [when] => 2013-10-13 15:00:00
            [a] => VG
            [b] => AD
            [winner] => a
            [closed] => 1
            [event] => Starseries
            [format] => 5
            [per_a] => 174
            [per_b] => 162
        )

)
</pre>