我有一个程序,允许用户将提案添加到审查委员会。我从表单传入了firstname和proposal消息,将其存储到字符串中,并将其存储到索引数组中。我是PHP的新手。
字符串示例:
$text = "UserName:$user<br/>Proposal:$prop";
显示时看起来像:
用户名:&#34; &#34;
提案:&#34; &#34;
用户名:&#34; &#34;
提案:&#34; &#34;
我想为用户提供按用户名按字母顺序排序的选项:
数组看起来像:
$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)
答案 0 :(得分:0)
我认为你正在寻找这样的东西:
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:字符串在所有值中都是相同的,我们真的不在乎后面的内容名字。
所以只需使用:sort。