【问题标题】:Sort foreach results by html form input order按html表单输入顺序对foreach结果进行排序
【发布时间】:2022-01-10 15:19:43
【问题描述】:

我有一个发布 <input> 字段内容的 html 表单。此字段接受一个或多个值。如果有多个值,则用户只需用空格分隔即可。

问题:如何按用户输入的确切顺序对结果进行排序?

例如

        <form>
           <input type="text" id="name" name="name">
           <button type="submit"></button>
        </form>

用户按此特定顺序输入以下内容:bravo alpha delta charlie

发布表单后,运行 php foreach 并将结果回显到页面。结果应按以下方式排序:

  • 好极了 (布拉沃的结果)
  • 阿尔法 (阿尔法的结果)
  • 三角洲 (增量结果)
  • 查理 (查理的结果)

我知道我可以使用几个 php sort();选项(例如按字母顺序),但我希望按用户输入的顺序准确排序。我怎样才能做到这一点?

谢谢

【问题讨论】:

    标签: php sorting


    【解决方案1】:

    您可以使用 PHP 中的explode 函数,如下所示。 Explode 会将字符串分解为与用户输入的顺序相同的顺序,无需应用任何sort 函数,直到需要

    <?php
    // user input $_POST['specific_input_name']/$_GET['specific_input_name']
    $str = "bravo alpha delta charlie";
    
    // explode with spaces
    $aStr = explode(" ",$str);
    
    // loop individual item
    foreach($aStr as $value) {
        echo $value."(results for ${value})<br />";
    }
    
    // more detailed array structure
    // print_r (explode(" ",$str));
    ?> 
    

    【讨论】:

      猜你喜欢
      • 2020-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-15
      • 1970-01-01
      • 2021-04-24
      • 2019-05-29
      • 2013-08-19
      相关资源
      最近更新 更多