2017-07-30 69 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']); 
相关问题