我想从此代码发送POST数据数组
<select name="product_type[]" class="form-control">
<option value="00">ไม่ระบุ</option>
<option value="01">เฟอร์นิเจอร์</option>
<option value="02">ไลฟ์สไตล์</option>
<option value="03">ของตกแต่งบ้าน</option>
<option value="04">เครื่องประดับ</option>
<option value="05">แฟชั่น</option>
<option value="06">อาหาร</option>
<option value="07">ออกแบบสื่อ (Multimedia, Graphic, Interactive)</option>
</select>
然后我显示这样的值
foreach( $product_name as $key => $n ) { echo $product_name[$key]."<br>"; }
但是代码显示如下
1
2
3
4
我希望他们这样显示
01
02
03
04
你们有什么建议或告诉我我做错了什么吗?
感谢前进
答案 0 :(得分:1)
假设$product_name
实际上来自$_POST['product_type']
,您只是打印数组索引并期望数组值。由于您未明确分配键,因此它们默认为连续的基于零的整数,如下面的其他示例所示:
$product_name = [];
$product_name[] = '00';
$product_name[] = '01';
$product_name[] = '02';
$product_name[] = '03';
$product_name[] = '04';
$product_name[] = '05';
$product_name[] = '06';
$product_name[] = '07';
print_r($product_name);
Array
(
[0] => 00
[1] => 01
[2] => 02
[3] => 03
[4] => 04
[5] => 05
[6] => 06
[7] => 07
)
此外,在这样的标签中:
<option value="00">ไม่ระบุ</option>
...仅将值(00
)发送回服务器,而不发送给标签(ไม่ระบุ
)。您无法从$_POST
中读取后者。
答案 1 :(得分:0)
<form action="" method="post">
<select name="product_type[]" class="form-control">
<option value="00">00</option>
<option value="01">01</option>
<option value="02">02</option>
<option value="03">03</option>
<option value="04">04</option>
</select>
<input type="submit" value="Send"/>
</form>
<?php
if(isset($_POST['product_type'])){
$product_type=$_POST['product_type'];
foreach( $product_type as $key => $n ) { echo $product_type[$key]."<br/>"; }
}
?>