数组ksort只显示不相似的值?

时间:2013-06-01 17:10:43

标签: php arrays rank ksort

拥有排名脚本的数组。 有时钥匙会是一样的。它们是数字的。 运行排序时,仅回显非类似值。 无法弄清楚修复。

$list = array( $value1 => 'text', $value2 => 'text', $value3 => 'text');

krsort($list);
foreach ($list as $key => $frame) {
    echo $frame;
}

2 个答案:

答案 0 :(得分:2)

如果为数组中的同一个键指定两个值,则第二个值将覆盖第一个值。因此,您最终只能获得该数组中该键的一个值。

要解决此问题,我建议您更改数组结构:

<?php 

$list = array( $key1 => array($key1member1, $key2member2),
               $key2 => array($key2member1),
               $key3 => array($key3member1, $key3member2, $key3member3) );

krsort($list);
foreach ($list as $key => $frames) {
    foreach ($frames => $frame) {
        echo $frame;
    }
}

?>

答案 1 :(得分:0)

根据你在这个问题的评论中写的内容和我的其他答案,我建议切换键和值。

<?php 

$list = array( "frame1" => 4, "frame2" => 2, "frame3" => 99, "frame4" => 42 );

arsort($list);
foreach ($list as $frame => $ranking) {
    echo $frame;
}

?>