Нужен массив рассчитывать на общие ценности - PullRequest
0 голосов
/ 28 марта 2011

Я использую PHP и Mysql, Apachhe

У меня есть массив

Array
(
    [2] => Array
        (
            [0] => 6
            [1] => 2
        )

    [1] => Array
        (
            [0] => 6
            [1] => 2
        )

)

Здесь Средний контейнер - это Идентификатор документа, а последние дочерние элементы - идентификаторы пользователей. Здесь я ищу способ найти способ подсчета общих идентификаторов пользователей среди всех различных Документов. Мне также нужно, чтобы он указывал, что конкретный идентификатор пользователя доступен в каких документах ...

Может ли кто-нибудь помочь мне достичь этого?

Заранее спасибо, OM

Ответы [ 2 ]

2 голосов
/ 28 марта 2011
$unique_users = array();

foreach ($docs as $doc_id => $users)
{
  foreach ($users as $user_id)
  {
    if (!isset($unique_users[$user_id]))
      $unique_users[$user_id] = array($doc_id);
    else
      $unique_users[$user_id][] = $doc_id;
  }
}

echo count($unique_users);  // number of users

var_dump($unique_users[1]); // list of documents user_id #1 is in
0 голосов
/ 28 марта 2011

Добавить все идентификаторы из первого элемента в массив.Затем продолжайте цикл по другим элементам и сохраняйте только те идентификаторы, которые также есть в текущем элементе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...