PHP Api - 结果/数组问题

时间:2010-10-12 19:15:33

标签: php arrays api

我一直在寻找PHP教程,我找到了一个对我有用的非常详细的教程。

但现在,我有一个问题。 API显示的结果存储在$ results数组中。这是代码(例如):

$fetch = mysql_fetch_row($go);
$return = Array($fetch[0],$fetch[1]);    
$results = Array(  
    'news' => Array (  
        'id'    => $return[0],  
        'title' => $return[1]  
    )); 

我的问题是..我想显示最近10条新闻..我该怎么做?在普通的PHP / mySQL上,它可以完成:

    while($var = mysql_fetch_array($table)) {
    echo "do something"
 }

我怎样才能使$ results可以打印多个结果?

我试过了:

while($var = mysql_fetch_array($table)) {
    $results = Array(  
        'news' => Array (  
            'id'    => $return[0],  
            'title' => $return[1]  
        )); 
 }

但这只能给我一个结果。如果我更改$ results。= Array(...)则会出错。

我该怎么办?

谢谢!

修改

当我按照建议的方式使用时,我的阅读功能无法读取:

function write(XMLWriter $xml, $data){
                            foreach($data as $key => $value){
                                    if(is_array($value)){
                                            $xml->startElement($key);
                                            write($xml, $value);
                                            $xml->endElement();
                                            continue;
                                    }
                                    $xml->writeElement($key, $value);
                            }
                    }
                    write($xml, $results);

2 个答案:

答案 0 :(得分:0)

使用[]向数组中添加元素:

$results = array();

while($var = mysql_fetch_array($table)) {
    $results[] = Array(  
        'news' => Array (  
            'id'    => $var[0],  
            'title' => $var[1]  
        )); 
    }
}

然后,您可以遍历$results数组。它不是一个最佳的结构,但你应该掌握它。

答案 1 :(得分:0)

$results[] = Array(  
        'news' => Array (  
            'id'    => $return[0],  
            'title' => $return[1]  
        )); 

应该这样做。

如果您熟悉数组,则相当于array_push();

array_push()将数组视为堆栈,并将传递的变量推送到数组的末尾。数组的长度增加了推送的变量数。具有与以下相同的效果:

<?php
$array[] = $var;
?>