Задать вопрос
StaDi
@StaDi
Курьер в it отделе

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

Туплю, не могу посчитать.

Есть массив:
$board[] = array("name" => "1" , "length" => 100 , "count" => 10);
$board[] = array("name" => "2" , "length" => 130 , "count" => 7);
$board[] = array("name" => "3" , "length" => 100 , "count" => 2);
$board[] = array("name" => "4" , "length" => 100 , "count" => 7);


Нужно у всех одинаковых длин (length) сложить количество (count)
Спасибо!
  • Вопрос задан
  • 2317 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
StaDi
@StaDi Автор вопроса
Курьер в it отделе
Спасибо всем за ответы.
Вот моё решение

$lengths = array();
for($i = 0 ; $i < count($board); ++$i)
$length[$board[$i]["length"]]["count"]  +=  $board[$i]["count"];
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
wscms
@wscms
В лоб
$lengths = array();
foreach ($board as $item)
    $lengths[$item['length']] = isset($lengths[$item['length']]) ? ($lengths[$item['length']] + $item['count']) : $item['count'];
Ответ написан
Комментировать
Slavenin999
@Slavenin999
программист php/erlang/elixir/js
Как-то так:
$counts = array();
foreach ($array as $value)
{
	$count = $value['count'];
	foreach ($array as $key => $v)
	{
		if($value['length'] == $v['length'])
		{
			$count += $v['count'];
			unset($array[$key]);
 		}
	}
        $counts[] = $count;
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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