PHP数组不显示所有项目

时间:2014-11-02 20:31:26

标签: php arrays

我有一个数组的代码,问题是它只显示了数组的最后两个项目。

$svi= array(
        $WMN1,
        $LNG1,
        $SSWN1,
        $DT1,
        $OET1,
        $OW1,
        $NT1  
    );

    $imena_sajtova = array(
        'Prvi WMN',
        'Drugi LNG',
        'Treci SSWN',
        'Cetvrti DT',
        'Peti OET',
        'Sesti OW',
        'Sedmi NT'
    );

    $novi_svi =array_combine($svi, $imena_sajtova);

    echo '<pre>'; print_r($novi_svi); echo '</pre>';

此代码的结果是:

Array
(
    [2] => Sedmi NT
    [1] => Sesti OW
)

可能有什么问题?谢谢!

var_dump($ svi)显示:

array(7) { [0]=> int(2) [1]=> int(1) [2]=> int(1) [3]=> int(1) [4]=> int(2) [5]=> int(1) [6]=> int(2) }

这个$ svi数组包含一些函数的结果:

$WMN1=RSS_Brojac($WMN);
$LNG1=RSS_Brojac($LNG);
$SSWN1=RSS_Brojac($SSWN);
$DT1=RSS_Brojac($DT);
$OET1=RSS_Brojac($OET);
$OW1=RSS_Brojac($OW);
$NT1=RSS_Brojac($NT);

我已经改变了array_combine中数组的顺序,它可以工作!

$novi_svi =array_combine($imena_sajtova, $svi);

    arsort($novi_svi);


    echo '<pre>'; print_r($novi_svi); echo '</pre>';

此代码的输出为:

Array
(
    [Prvi WMN] => 2
    [Sedmi NT] => 2
    [Peti OET] => 2
    [Sesti OW] => 1
    [Cetvrti DT] => 1
    [Drugi LNG] => 1
    [Treci SSWN] => 1
)

我已经将它们从高到低排序,这就是我真正想要用这个数组做的事情。 现在,如何分离结果,将它们放在html中的单独div中? 那么,我将能够改变他们的风格并用这些结果创建某种表格。

结果从一些RSS提要输出,我用它来计算已发布新闻的数量。

感谢您的时间!

2 个答案:

答案 0 :(得分:0)

在合并之前对第一个数组中的值进行Typecast。可以用array_map()实现。我假设你知道变量中所需的类型。

答案 1 :(得分:0)

那么你去了,你在数组合并后只检索两个值的确切原因是因为你只提供了两个唯一的整数,1,2作为要组合的数组的索引。您的7个字符串至少需要7个唯一值。

Here's an example using your code and it doesn't work

和... Here's an example using 7 unique indexes, that does work