我有一个程序,允许用户将提案添加到审查委员会。我从表单中传入了名字和提案消息,将其存储到字符串中,然后将其存储到索引数组中。我对PHP很陌生。
字符串示例:
$text = "UserName:$user<br/>Proposal:$prop";
显示时,它看起来像:
用户名: " "
建议:"
用户名: " "
建议:"
我想为用户提供按用户名按字母顺序排序的选项:
该数组如下所示:
$arr=array(
0 => UserName:bfoo<br/>Proposal:foo foo
1 => UserName:afoo<br/>Proposal:foo foo
2 => UserName:cfoo<br/>Proposal:foo foo)
按用户名排序后,我希望它看起来像:
$arr=array(
0 => UserName:afoo<br/>Proposal:foo foo
1 => UserName:bfoo<br/>Proposal:foo foo
2 => UserName:cfoo<br/>Proposal:foo foo)
我想你正在寻找这样的东西:
usort($array, function($a, $b) {
$lines_a = explode("<br/>", $a);
$lines_b = explode("<br/>", $b);
return strcmp(str_replace("UserName:", "", $lines_a[0]), str_replace("UserName:", "", $lines_b[0]));
});
但是,如果您按值排序,它也将为您提供正确的结果(因为 UserName: 字符串在所有值中都是相同的,我们并不真正关心名称后面的内容。
所以只需使用这个:排序。