2017-07-30 66 views
0

我有一個從數據庫提供的多選表單,如果我用兩個逗號分隔它,我會得到像item1,item2,item3這樣的值。但是,我只想得到最後選擇的項目,在上面的情況下是item3。我也試圖爆炸分裂,但沒有奏效如何使用PHP獲取多選字段中的最後一個值

這低於

<select multiple="multiple" name="enrolledterm[]" style="width: 100%;" data-toggle="select2" data-placeholder="Select Terms.." data-allow-clear="true" required="required"> 
      <option value="<?php echo $term_one_date ?>">Winter Term ends on <?php echo $term_one_date ?></option> 
      <option value="<?php echo $term_two_date ?>">Spring Term ends on <?php echo $term_two_date ?></option> 
      <option value="<?php echo $term_three_date ?>">Summer Term ends on <?php echo $term_three_date ?></option> 
       </select> 

$enrolled_term = explode(" ", $_POST['enrolled_term']) ; 
+0

的[這是什麼讓一個數組的最後一個元素,而不刪除它的最好方法是什麼?(可能的複製https://stackoverflow.com/questions/3687358/whats-the-best無需刪除它) – mickmackusa

回答

1

我的代碼試試這個:獲得最後選定的值(陣列)

$total_selected = count($_POST['enrolled_term']); 
$enrolled_term = $_POST['enrolled_term'][$total_selected-1] ; //last index 
1

要得到一個數組的最後一個元素,使用array_slice()

$lastElement = array_values(array_slice($_POST['enrolled_term'], -1))[0]; 

array_slice - 提取一切片陣列

+0

Woow,非常感謝。它的工作原理 – Ademaintain

+0

不客氣。快樂編碼! –

+0

抱歉,還有一件事,它在localhost上運行良好,但在cpanel上拋出內部服務器錯誤。和我的cpanel不記錄任何錯誤日誌。 – Ademaintain

1

只需獲取$ _POST ['enrolled_term']中的最後一項即可。使用結束()在PHP end($_POST['enrolled_term'])$_POST['enrolled_term'][count($_POST['enrolled_term']) - 1]

0

使用count()函數來獲取相等於計數1

$terms = explode(" ", $_POST['enrolled_term']) ; 
$enrolled_term =$terms[count($terms)-1]; 
2

你可以試試這個簡單的一個,這裏我們使用end函數的最後一個項目。

Try this with an example

$enrolled_term=end($_POST['enrolled_term']); 
相關問題