code_junkie

How can I compare the values in two arrays

Nov 14th, 2011
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. function compareArray ($array1, $array2)
  2. {
  3. foreach ($array1 as $key => $value)
  4. {
  5. if ($array2[$key] != $value)
  6. {
  7. return false;
  8. }
  9. }
  10.  
  11. return true;
  12. }
  13.  
  14. function compareArray ($array1, $array2)
  15. {
  16. foreach ($array1 as $key => $value)
  17. {
  18. if ($array2[$key] != $value)
  19. {
  20. return false;
  21. }
  22. }
  23.  
  24. return true;
  25. }
  26.  
  27. function compareArray ($array1, $array2)
  28. {
  29. foreach ($array1 as $key => $value)
  30. {
  31. if ($array2[$key] != $value)
  32. {
  33. return false;
  34. }
  35. }
  36.  
  37. return true;
  38. }
  39.  
  40. function compareArray ($array1, $array2)
  41. {
  42. foreach ($array1 as $key => $value)
  43. {
  44. if ($array2[$key] != $value)
  45. {
  46. return false;
  47. }
  48. }
  49.  
  50. return true;
  51. }
  52.  
  53. function compareArray ($array1, $array2)
  54. {
  55. var $differences;
  56.  
  57. foreach ($array1 as $key => $value)
  58. {
  59. if ($array2[$key] != $value)
  60. {
  61. $differences[$key][1] = $value;
  62. $differences[$key][2] = $array2[$key];
  63. }
  64. }
  65.  
  66. if (sizeof($differences) > 0)
  67. {
  68. return $differences;
  69. }
  70. else
  71. {
  72. return true;
  73. }
  74. }
  75.  
  76. <?php
  77. $user1 = array("public" => 1, "private" => 1, "secret" => 1);
  78. $user2 = array("public" => 1, "private" =>1, "secret" => 1);
  79. $array1 = array ("user 1"=>$user1, "user 2"=>$user2);
  80.  
  81. $user1 = array("public" => 1, "private" => 0, "secret" => 1);
  82. $user2 = array("public" => 1, "private" => 1, "secret" => 1);
  83. $array2 = array("user 1"=>$user1, "user 2"=>$user2);
  84.  
  85. $results = array();
  86. foreach ( $array1 as $user => $value )
  87. {
  88. $diff = array_diff_assoc( $array1[$user], $array2[$user] );
  89. if ($diff) {
  90. array_push($results,array($user=>$diff));
  91. }
  92. }
  93.  
  94.  
  95. print_r($results);
  96.  
  97.  
  98. ?>
  99.  
  100. Array
  101. (
  102. [0] => Array
  103. (
  104. [user 1] => Array
  105. (
  106. [private] => 1
  107. )
  108. )
  109. )
  110.  
  111. function arrayDiff($array1, $array2)
  112. {
  113. if (!is_array($array1) || !is_array($array2)) {
  114. return false;
  115. }
  116. foreach ($array1 as $key => $val) {
  117. if (array_key_exists($key, $array2) && gettype($val) != "array" && $val === $array2[$key]) {
  118. unset($array1[$key]);
  119. continue;
  120. }
  121. if (is_array($val)) {
  122. $val = diff($val, $array2[$key]);
  123. if ($val !== false) {
  124. $array1[$key] = $val;
  125. }
  126. }
  127. }
  128. return $array1;
  129. }
  130.  
  131. $array1 = array(
  132. array(
  133. array('foo', 'bar', 'baz'),
  134. 0
  135. )
  136. );
  137. $array2 = array(
  138. array(
  139. array('foo', 'bar')
  140. )
  141. );
  142. var_dump(diff($array1, $array2));
  143.  
  144. <?php
  145. $array1 = array("a" => "green", "b" => "brown", "c" => "blue", "red");
  146. $array2 = array("a" => "green", "yellow", "red");
  147. $result = array_diff_assoc($array1, $array2);
  148. print_r($result);
  149. ?>
  150.  
  151. Array
  152. (
  153. [b] => brown
  154. [c] => blue
  155. [0] => red
  156. )
Add Comment
Please, Sign In to add comment