繁体   English   中英

PHP按键'值'对数组进行排序

[英]PHP sort array by key 'value'

我有以下代码显示我想要的结果。 我试图让它对下面输出中的键“值”进行排序。 所以埃里克,埃里克 2,埃里克 3

$resultnames的示例输出是:

Array
(
[0] => Array
    (
        [Eric 2] => Asdf
    )

[1] => Array
    (
        [Eric] => Asdf
    )

[2] => Array
    (
        [Eric 3] => Asdf
    )

)

所以键是名字,键的值是姓氏。 我正在尝试按名字对数组进行排序

    foreach (array_chunk($uvugroups, 6, true) as $uvugroup)
    {       
        foreach ($uvugroup as $uvustate) {
            echo "<h4>Registrants</h4>";
            $fnames = explode( '|', $uvustate['fname'] );
            $lnames = explode( '|', $uvustate['lname'] );
            $resultnames = array();
            foreach ($fnames as $i => $key) {
              $resultnames[] = array($key => $lnames[$i]);
            }
            foreach ($resultnames as $resultname) {         
            foreach ($resultname as $fkey => $lkey) {
                echo "<ul>";
                echo "<li>" . $fkey . " " . substr($lkey,0,1) . ".</li>";
                echo "</ul>";
            }
            }               
        }
    }

我尝试在代码的不同地方使用kso​​rt,但似乎没有效果。

这有点困难,因为问题中没有定义预期的输出,但是将此代码作为第二个foreach的内容,它应该生成一个按名字排序的列表。

$fnames = explode( '|', $uvustate['fname'] );
$lnames = explode( '|', $uvustate['lname'] );
$resultnames = array_combine($fnames, $lnames);
ksort($resultnames);

echo "<ul>";
foreach ($resultnames as $fkey => $lkey) {
    echo "<li>" . $fkey . " " . substr($lkey,0,1) . ".</li>";
}
echo "</ul>";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM