Как найти значение, повторяющееся в массивах PHP?

Добрый день! Есть, допустим, 10 массивов. Задача – найти значения, которые встречаются как минимум в трех массивах и добавить их в отдельный массив. Как это лучше реализовать? Спасибо!
  • Вопрос задан
  • 3120 просмотров
Пригласить эксперта
Ответы на вопрос 3
FanatPHP
@FanatPHP
Чебуратор тега РНР
Правильный ответ: перестать заниматься ерундой и научиться, наконец, работать с базой данных.
Буквальный ответ: любые операции с массивами производятся с помощью циклов.
Ответ написан
conf
@conf
Ruby developer
Небольшой совет: всегда давайте контекст в котором вы решаете задачу, иначе вы можете решать какую-то свою придуманную проблему, а настоящая задача совсем решается по-другому.
По поводу вашего вопроса - читайте документацию, там все есть:
php > $one = ['red']; $two = ['red', 'green', 'blue']; $three = ['red', 'blue'];
php > var_dump(array_intersect($one, $two, $three));
array(1) {
  [0]=>
  string(3) "red"
}

Вам остается в цикле подсчитать кол-во комбинаций из 10 по 3 и использовать вышеприведенную функцию, либо сообщить нам о том, что вы все-таки пытаетесь сделать и тогда, наверняка, найдется менее костыльное решение.
Ответ написан
Комментировать
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
//$arrays - исходный список массивов
$count=array();
$new=array();
foreach ($arrays as $a) {
  foreach ($a as $key=>$i) {
    $count[$key]++;
    if ($count[$key]===3) {$new[$key]=$a;}
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы