【问题标题】:How to get the last value in multiselect field using PHP如何使用 PHP 获取多选字段中的最后一个值
【发布时间】:2017-07-30 10:17:19
【问题描述】:

我有一个来自数据库的多选表单,如果我用逗号分隔它,我会得到像 item1,item2,item3 这样的值。但是,我只想获得最后一个选定的项目,即上面 d 案例中的 item3。我也试过炸裂,但没成功

这是我下面的代码

<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']) ;

【问题讨论】:

标签: php implode


【解决方案1】:

你可以试试这个最简单的,这里我们使用end函数。

Try this with an example

$enrolled_term=end($_POST['enrolled_term']);

【讨论】:

    【解决方案2】:

    试试这个:获取最后选择的值(从数组)

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

    【讨论】:

      【解决方案3】:

      要获取数组的最后一个元素,请使用array_slice()

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

      array_slice — 提取数组的一个切片

      【讨论】:

      • 对不起还有一件事,它在 localhost 上运行良好,但在 cpanel 上抛出内部服务器错误。而且我的 cpanel 没有记录任何错误日志。
      • 这一行是否抛出错误?因为这段代码没有抛出任何错误或警告。你可以在这里查看:3v4l.org/5oXGi
      • 是的,我可以看到它没有从上面抛出任何错误,它在本地主机上也能正常工作,但是当我在线加载时,它会引发内部服务器错误,当我评论它时,网站重新加载正常.我不确定我的服务器是否支持。
      • 嗯,这是 PHP 函数,不需要额外安装。可能是,检查$_POST 是否不为空,仅此代码应该执行。
      • 我使用 $enrolled_term=end($_POST['enrolled_term']);它有效,我猜array_slice 正在使用我的服务器不支持的更高版本的php,因为它在本地主机上运行良好。还是非常感谢
      【解决方案4】:

      只需获取 $_POST['enrolled_term'] 中的最后一项。在 PHP 中使用 end() end($_POST['enrolled_term'])$_POST['enrolled_term'][count($_POST['enrolled_term']) - 1]

      【讨论】:

        【解决方案5】:

        使用 count() 函数获取最后一个等于 count-1 的项目

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-05-31
          • 2013-07-29
          • 1970-01-01
          • 2012-05-14
          • 2016-05-17
          • 2019-08-12
          • 1970-01-01
          相关资源
          最近更新 更多