我有一個帶有隨機名稱輸入部分的html表單。
每個輸入名稱都以文本「book」開頭,隨機文本結尾生成。
<input type="text" name="book_4552f" />
<input type="text" name="book_3507p" />
<input type="text" name="book_8031b" />
如何使用PHP獲取以文本「book」開頭的所有$ _POST變量?
我有一個帶有隨機名稱輸入部分的html表單。
每個輸入名稱都以文本「book」開頭,隨機文本結尾生成。
<input type="text" name="book_4552f" />
<input type="text" name="book_3507p" />
<input type="text" name="book_8031b" />
如何使用PHP獲取以文本「book」開頭的所有$ _POST變量?
下使用strpos()來檢查POST字符串開頭book_
foreach($_POST as $key => $value) {
if (strpos($key, 'book_') === 0) {
// value starts with book_
}
}
foreach($_POST as $key => $value) {
if(preg_match('@^[email protected]', $key)) {
$books[$key] = $value;
}
}
有幾個possiblities
第一:(分裂密鑰)
$result = array();
foreach($_POST AS $k=>$v) {
//Explode k (book_*) into an array with max 2 values
$k_array = explode("_", $k, 2);
if(isset($k_array[0]) && $k_array[0] == "book") {
$result[$k] = $v;
}
}
或用preg_match像上面那樣,但是也有一個很好的理由,你可能只想要最後一部分k =例如book_8031b只是8031b
$result = array();
foreach($_POST AS $k=>$v) {
if(preg_match("/^book_(.*)$/", $k, $matches)) {
$result[$matches[1]] = $v;
}
}
THANK YOu !!!!!!!!!!!!! – supercoolville 2012-01-11 19:01:37