Guest User

Untitled

a guest
Oct 29th, 2017
442
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.22 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.  
  36. print_r($newArr);
  37. // output:
  38.  
  39. Array
  40. (
  41. [Anna] => Array
  42. (
  43. [mail] => 123@mail.ru
  44. )
  45. [Bob] => Array
  46. (
  47. [mail] => bbb@yandex.ru
  48. )
  49. [Ivan] => Array
  50. (
  51. [mail] => 123@mail
  52. )
  53. )
  54.  
  55. <?php
  56.  
  57. $entries[0]["displayname"]="Ivan";
  58. $entries[0]["mail"]="123@mail";
  59. $entries[1]["displayname"]="Anna";
  60. $entries[1]["mail"]="aaa@yandex.ru";
  61. $entries[2]["displayname"]="Bob";
  62. $entries[2]["mail"]="bbb@yandex.ru";
  63. $entries[3]["displayname"]="Anna";
  64. $entries[3]["mail"]="123@mail.ru";
  65.  
  66. $temp = [];
  67.  
  68. foreach ($entries as $item) {
  69. $temp[] = $item['displayname'];
  70. }
  71.  
  72. $val = array_count_values($temp);
  73.  
  74. for ($i = 0, $j = count($entries, COUNT_RECURSIVE); $i < $j; $i++) {
  75. if ($val[$entries[$i]['displayname']] > 1) {
  76. if (strpos($entries[$i]['mail'], 'mail.ru') === false) {
  77. unset($entries[$i]);
  78. }
  79. }
  80. }
  81.  
  82. echo '<pre>'; print_r($entries); echo '</pre>';
  83. /*
  84. Array
  85. (
  86. [0] => Array
  87. (
  88. [displayname] => Ivan
  89. [mail] => 123@mail
  90. )
  91.  
  92. [2] => Array
  93. (
  94. [displayname] => Bob
  95. [mail] => bbb@yandex.ru
  96. )
  97.  
  98. [3] => Array
  99. (
  100. [displayname] => Anna
  101. [mail] => 123@mail.ru
  102. )
  103.  
  104. )
  105. */
Add Comment
Please, Sign In to add comment