2014-11-02 65 views
0

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

$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 
) 

I'have它们排序从高分到低分,这就是我其实是想用这个数组做。 现在,如何分离结果,让他们在HTML内的单独的div? 那么,我将能够改变他们的风格,并创建一些与这些结果的表。

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

谢谢你的时间!

+3

'的var_dump($ SVI);'---我们不知道那是什么阵列的内部。但似乎这些都不是唯一的数字 – zerkms 2014-11-02 20:32:42

+0

该阵列的内部是一些功能: \t $ WMN1 = RSS_Brojac($ WMN); \t \t $ LNG1 = RSS_Brojac($ LNG); \t \t $ SSWN1 = RSS_Brojac($ SSWN); \t \t $ DT1 = RSS_Brojac($ DT); \t \t $ OET1 = RSS_Brojac($ OET); \t \t $ OW1 = RSS_Brojac($ OW); \t \t $ NT1 = RSS_Brojac($ NT); – Adnan 2014-11-02 20:37:31

+0

@Adnan编辑该问题,而不是将其写为注释。这是不可读的:-( – 2014-11-02 20:41:12

回答

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

+0

是的,你是完全正确的。这是问题!谢谢@Ohgodwhy。 我几乎完成了应用程序,但我需要一些额外的帮助与此代码。我发布了更新。 :) – Adnan 2014-11-02 21:07:36

+1

@Adnan请创建一个新问题并回滚编辑。这不是一个长线程的论坛式网站,这就是它的独特之处。 :) – Ohgodwhy 2014-11-02 21:11:03

+0

谢谢,我现在就做。 :) – Adnan 2014-11-02 21:13:17

0

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