多維數組在HTML和PHP中不能這樣工作。基於評論
<option value="bus_info[{$k->bus_id}][{$k->route_from}][{$k->route_to}]">{$k->route_from} To {$k->route_to},{$k->bus_time}</option>
編輯:你應該在你的形式使用該
對不起,這不會在所有的工作。我假設你想讓用戶選擇某種路線,並基於你想傳遞一個特定的值。該方式<select>
的工作原理是:
在HTML使用:
<select name="test">
<option value="1">First option</option>
<option value="2">Second option</option>
</select>
現在,在PHP中可以訪問已提交這樣的值:
$_REQUEST['test'] //this value will be 1 if the user
//selected the first option, or 2 if
//he selected the second
您可以使用在輸入字段的名稱陣列,所以這將有可能在HTML中做這樣的事情:
<select name="test[1]">
<option value="1">First option</option>
<option value="2">Second option</option>
</select>
<select name="test[2]">
<option value="1">First option</option>
<option value="2">Second option</option>
</select>
請注意,我在name
屬性上使用了數組表示法,而不是數值。現在你可以在PHP中做到這一點:
$_REQUEST['test'][1] //this value will be 1 if the user
//selected the first option, or 2 if
//he selected the second in the first
//drop down
$_REQUEST['test'][2] //this value will be 1 if the user
//selected the first option, or 2 if
//he selected the second in the second
//drop down
你做那麼,用在value
屬性陣列將無法工作。你可以做這樣的事情:
<select name="bus_info">
<option value="{$k->bus_id},{$k->route_from},{$k->route_to}">{$k->route_from} To {$k->route_to},{$k->bus_time}</option>
</select>
然後在PHP:
$values = explode($_REQUEST['bus_info']);
//now $values is an array with 3 elements, the ID, the route_from and route_to
值經由傳遞' $ _REQUEST ['bid']'只是一個字符串,並不像你期望的那樣是一個數組(它是一個字符數組,這就是爲什麼'bus_information [0] [0]'返回'b'的原因,但是在這一點上不相關)。您需要解析數據以提取逗號分隔值。 – mdm 2012-01-12 12:42:41
因爲你所擁有的不是一個數組,它是一個*字符串*,模糊地看起來像一個數組。 – deceze 2012-01-12 12:43:40