按html表单输入顺序对foreach结果进行排序
Posted
技术标签:
【中文标题】按html表单输入顺序对foreach结果进行排序【英文标题】:Sort foreach results by html form input order 【发布时间】: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();选项(例如按字母顺序),但我希望按用户输入的顺序准确排序。我怎样才能做到这一点?
谢谢
【问题讨论】:
【参考方案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));
?>
【讨论】:
以上是关于按html表单输入顺序对foreach结果进行排序的主要内容,如果未能解决你的问题,请参考以下文章