[英]php | Convert array to select box
我有一個數組,想將其轉換為選擇框。 您可以在下面找到我的解決方案。 但是我的lats選項輸出html布局有問題。 我的問題在哪里,我該如何解決?
我的代碼:
if (isset($product->options) && count($product->options)) {
$option_name = '';
foreach ($product->options as $option) {
if (trim($option_name) != trim($option->name)) {
echo '<select class="width-100" name="product[option][name]['.$option->name.']">';
}
echo '<option value="'.$option->value.'">'.$option->value.'</option>';
if (trim($option_name) != trim($option->name)) {
echo '</select>';
}
$option_name = $option->name;
}
}
我的輸出看起來像:
<select class="width-100" name="product[option][name][Color]">
<option value="Black">Black</option>
</select>
<select class="width-100" name="product[option][name][Size]">
<option value="XL">XL</option>
</select>
<option value="X">X</option>
我的數組:
[options] => Array
(
[0] => stdClass Object
(
[name] => Color
[value] => Black
[price] => +50
[order] =>
)
[1] => stdClass Object
(
[name] => Size
[value] => XL
[price] => +10
[order] =>
)
[2] => stdClass Object
(
[name] => Size
[value] => X
[price] => +5
[order] =>
)
)
嘗試這個:
if (isset($product->options) && count($product->options)) {
$arr = [];
foreach ($product->options as $option) {
$arr[$option->name][] = '<option value="'.$option->value.'">'.$option->value.'</option>';
}
foreach ($arr as $k=>$v) {
echo '<select class="width-100" name="product[option][name]['.$k.']">';
echo join("\n", $v);
echo '</select>';
}
}
請嘗試這個
if (isset($product->options) && count($product->options)) {
$option_name = '';
$i = 0;
foreach ($product->options as $option) {
if (trim($option_name) != trim($option->name)) {
echo '<select class="width-100" name="'.$option->name.'">';
}
echo '<option value="'.$option->value.'">'.$option->value.'</option>';
if (trim($option_name) != trim($option->name)) {
echo '</select>';
}
$option_name = $option->name;
$i++;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.