Подскажите пожалуйста как получит количество совпадений при сравнении массивов?
$rows = $cost->getRows();
$orders = $results->getRows();
$tmp = array_column($rows, 1, 0);
foreach($orders as &$v){
if(array_key_exists($v[3], $tmp)){
$v[] = $tmp[$v[3]];
}
}
Нужно что было на выходе так:
$v[] = $tmp[$v[3]] / $key_exists;
Спасибо.
Если за основу взять пример ваших данных из предыдущего вопроса
$orders = [
['a1', 'b1', 'c1', 1],
['a2', 'b2', 'c2', 2],
['a3', 'b3', 'c3', 3],
['a4', 'b4', 'c4', 5],
['a5', 'b5', 'c5', 5],
];
$rows = [ [1, 1000], [2 , 2000], [5,5000]];
то в целом, общее число совпадений значений 3-го столбца первого массива $orders
и 0-го столбца $rows
можно получить как
$count = count(array_intersect(array_column($orders, 3), array_column($rows, 0)));
для данного примера результат будет равен 4
.
Где результатом работы функции пересчения массивов array_intersect
будет
Array (
[0] => 1
[1] => 2
[3] => 5
[4] => 5
)
А если требуется посчитать число совпадений для каждого элемента, то используя функцию array_count_values
можно получить следующий результат:
Array (
[1] => 1
[2] => 1
[5] => 2
)
Если же потребуется число совпадений без повторов, то
count(array_unique(array_intersect(...))
вернет результат 3
.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Здравствуйте, возникла проблема при подключении к API VK
Всем привет, подскажите бесплатный онлайн чат для сайтаСайт на symfony2(2
ЗдраствуйтеМне нужно добавить в программу сравнение: верно ли , что название пунктов назначения совпадают у двух поездов