Нужно сделать чтото типо корзины в магазине. В функцию передается массив с названием товаров и ценами, функция должна подсчитать количество одинаковых товаров и также общие цены одинаковых товаров и вывести все это на экран.
По задумке должно быть так:
в foreach каждый элемент массива $arr обрабатывает for и в зависимости от условий делать соответствующие действия(если имена товаров совпадают($item[0] == $temp[$i][0]) то увеличивать цену и количество товаров, иначе добавить товар(также его цену и количество) в новый массив($temp) )
Но почему-то элементы добавляются тогда когда условие верно(или, кажется, я сам не понял в чем проблема).
Вот код:
function trash($arr){
$temp = [[]];
foreach ($arr as $item){
print_r($item);
echo "<br>";
for ($i = 0; $i < count($temp); $i++){
print_r($temp[$i]);
if ($item[0] == $temp[$i][0]){
$temp[$i][1] += $item[1];
$temp[$i][2] += 1;
}
else{
array_push($temp, [$item[0],$item[1],1]);
}
}
echo "<hr><br>";
}
array_splice($temp,0,1);
foreach ($temp as $item){
echo "<div style='display: inline-block;border: solid 1px black; padding: 5px;'>
<h1>{$item[0]}</h1>
<span> Count: {$item[2]}</span><span> Price: {$item[1]} </span>
</div>";
}
}
trash([["iphone 0",6000],["macbook",300000],["iphone 0",50000],["iphone 0",50000],["iphone 0",50000]]);