Я пытаюсь обработать этот массив, сначала проверяя наличие чека, затем экстраполируя данные из количества, чтобы получить действительную цену.
Здесь вводится фиксированное количество товаров без переменного количества.
<input type="checkbox" name="measure[<?=$item->id?>][checked]" value="<?=$item->id?>">
<input type="hidden" name="measure[<?=$item->id?>][quantity]" value="1" />
Вот входные данные для переменного количества предметов.
<input type="checkbox" name="measure[<?=$item->id?>][checked]" value="<?=$item->id?>">
<input class="item_mult" value="0" type="text" name="measure[<?=$item->id?>][quantity]" />
Итак, результирующий массив является многомерным. Вот вывод:
Array (
[1] => Array ( [quantity] => 1 )
[2] => Array ( [quantity] => 1 )
[3] => Array ( [quantity] => 1 )
...
[14] => Array ( [checked] => 14 [quantity] => 999 )
)
Вот цикл, который я использую, чтобы сначала взять этот массив и обработать элементы, проверенные на форме. Я предполагаю, что вопрос, по сути, сводится к тому, как мне структурировать мой условный оператор для включения многомерного массива?
foreach($field as $value):
if ($value['checked'] == TRUE) {
$query = $this->db->get_where('items', array('id' => $value['checked']))->row();
#Test to see if quantity input is present
if ($value['quantity'] == TRUE) {
$newprice = $value['quantity'] * $query->price;
$totals[] = $newprice;
}
#Just return the base value if not
else {
$newprice = $query->price;
$totals[] = $newprice;
}
}
else { } ?>
<p><?=$query->name?> - <?=money_format('%(#10n', $newprice)?></p>
<? endforeach; ?>
Мой вопрос: как я могу изменить свой цикл для работы с многомерным массивом?