Guest User

Untitled

a guest
Oct 29th, 2017
382
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. $entries[0]["displayname"]="Ivan"
  2. $entries[0]["mail"]="123@mail"
  3. $entries[1]["displayname"]="Anna"
  4. $entries[1]["mail"]="aaa@yandex.ru"
  5. $entries[2]["displayname"]="Bob"
  6. $entries[2]["mail"]="bbb@yandex.ru"
  7. $entries[3]["displayname"]="Anna"
  8. $entries[3]["mail"]="123@mail.ru"
  9.  
  10. $entries[0]["displayname"]="Ivan";
  11. $entries[0]["mail"]="123@mail";
  12. $entries[1]["displayname"]="Anna";
  13. $entries[1]["mail"]="aaa@yandex.ru";
  14. $entries[2]["displayname"]="Bob";
  15. $entries[2]["mail"]="bbb@yandex.ru";
  16. $entries[3]["displayname"]="Anna";
  17. $entries[3]["mail"]="123@mail.ru";
  18.  
  19. // --------------------------------- //
  20.  
  21. $newArr = [];
  22. for ($i = count($entries); $i > 0; --$i) {
  23. $user = $entries[$i - 1];
  24. $name = $user['displayname'];
  25. $mail = $user['mail'];
  26.  
  27. if (isset($newArr[$name])) {
  28. if (strpos('@mail.ru', $mail) !== false) {
  29. $newArr[$name]['mail'] = $mail;
  30. }
  31. } else {
  32. $newArr[$name] = ['mail' => $mail];
  33. }
  34.  
  35. unset($entries[$i - 1]);
  36. }
  37.  
  38. print_r($newArr);
  39. // output:
  40.  
  41. Array
  42. (
  43. [Anna] => Array
  44. (
  45. [mail] => 123@mail.ru
  46. )
  47. [Bob] => Array
  48. (
  49. [mail] => bbb@yandex.ru
  50. )
  51. [Ivan] => Array
  52. (
  53. [mail] => 123@mail
  54. )
  55. )
  56.  
  57. <?php
  58.  
  59. $entries[0]["displayname"]="Ivan";
  60. $entries[0]["mail"]="123@mail";
  61. $entries[1]["displayname"]="Anna";
  62. $entries[1]["mail"]="aaa@yandex.ru";
  63. $entries[2]["displayname"]="Bob";
  64. $entries[2]["mail"]="bbb@yandex.ru";
  65. $entries[3]["displayname"]="Anna";
  66. $entries[3]["mail"]="123@mail.ru";
  67.  
  68. $temp = [];
  69.  
  70. foreach ($entries as $item) {
  71. $temp[] = $item['displayname'];
  72. }
  73.  
  74. $val = array_count_values($temp);
  75.  
  76. for ($i = 0, $j = count($entries, COUNT_RECURSIVE); $i < $j; $i++) {
  77. $int = isset($entries[$i]) ? $val[$entries[$i]['displayname']] : 0;
  78.  
  79. if ($int > 1 && strpos($entries[$i]['mail'], 'mail.ru') === false) {
  80. unset($entries[$i]);
  81. }
  82. }
  83.  
  84. echo '<pre>'; print_r($entries); echo '</pre>';
  85.  
  86. Array
  87. (
  88. [0] => Array
  89. (
  90. [displayname] => Ivan
  91. [mail] => 123@mail
  92. )
  93.  
  94. [2] => Array
  95. (
  96. [displayname] => Bob
  97. [mail] => bbb@yandex.ru
  98. )
  99.  
  100. [3] => Array
  101. (
  102. [displayname] => Anna
  103. [mail] => 123@mail.ru
  104. )
  105.  
  106. )
Add Comment
Please, Sign In to add comment