Я работаю над простым сравнением цен, и я хочу, чтобы выход был чистым, насколько это возможно. Основной массив моих данных выглядит следующим образом:PHP Пропустить цикл foreach на одном значении
Array ([0] => stdClass Object ([id] => 84 [system_id] => 174 [url] => https://firstshop-pricecheck.com/url-1 [shopid] => First Shop [price] => {"price": "32 00", "amount": "10", "variation": "standard"} [currency] => EUR) [1] => stdClass Object ([id] => 85 [system_id] => 174 [url] => https://firstshop-pricecheck.com/url-2 [shopid] => First Shop [price] => {"price": "18 00", "amount": "3", "variation": "other"}, {"price": "28 01", "amount": "5", "variation": "standard"}, {"price": "49 00", "amount": "10", "variation": "other"}, {"price": "108 00", "amount": "25", "variation": "standard"} [currency] => EUR) [2] => stdClass Object ([id] => 106 [system_id] => 174 [url] => https://secondshop-pricecheck.com/url-1 [shopid] => Second Shop [price] => {"price": "3 25", "amount": "1", "variation": "standard"}, {"price": "4 50", "amount": "1", "variation": "other"}, {"price": "32 50", "amount": "10", "variation": "standard"}, {"price": "45 00", "amount": "10", "variation": "other"} [currency] => GBP))
На первом, у нас есть заголовок таблицы:
<table id="pricecheck" class="table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
<th>Shop</th>
<th>Country</th>
<th>Payment</th>
<th>Amount/Price</th>
</tr>
</thead>
<tbody>
На данный момент, есть новая строка для каждого магазина (shopid), в в столбце «Сумма/цена» у меня есть другой foreach, чтобы поместить данные в поле простого выбора.
<?php foreach ($array as $key => $value) { ?>
<tr>
<td><?php echo $value->shopid; ?></td>
<td>#Country</td>
<td>#Payment</td>
<td>
<?php
# decode data to json:
$xmyson = $value->price . ', ';
$ymyson = rtrim($xmyson, ', ');
$zmyson = '{ "prices": [' . $ymyson . ']}';
$decode = json_decode($zmyson);
?>
<select id="price_check_ordering" name="price_check_ordering" class="inputbox">
<?php
foreach ($decode->prices as $xvalue) { ?>
<option>
<?php
$fprice = str_replace(" ", ",", $xvalue->price);
echo $fprice . ' €';
?>
</option>
<?php } ?>
</select>
?>
</td>
</tr>
<?php } ?>
Теперь для первого цикла: если это тот же магазин (shopid), то не создать еще одну строку - НО создать еще выбрать в этой строке с данными. Таким образом, для одного и того же магазина нет новой строки, кроме другого простого поля выбора в разделе «Сумма/цена» с относительными данными. Я пытаюсь найти правильную логику для решения этой проблемы.
ли массив заказан shopid? –
Пожалуйста, переформатируйте свой код, чтобы мы могли прочитать его без наклонения наших головок ... – Edward
Немного не по теме, но у вас нет открывающего тега '