尝试从html> select发送值00,01,02,但在PHP中值为0,1,2

时间:2018-07-08 05:16:21

标签: php html

我想从此代码发送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

你们有什么建议或告诉我我做错了什么吗?

感谢前进

2 个答案:

答案 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/>"; }
}
?>