2011-06-18 103 views
1

這是我第一篇文章,在過去我發現我的所有問題已經解決。 不是這次所以請幫助我:-)!PHP函數返回mysql_fetch_assoc()結果基於索引的數組?

  • 爲什麼$returned_assoc_arr持有基於索引的數組而不是關聯?
  • 我也嘗試過參考public function &fetch_assoc($res),但沒有運氣?
  • 有什麼辦法可以解決這個問題嗎?我真的需要這是一個聯想陣列。

我希望我解釋得很好,一些高級PHP編碼器可以幫助解決這個問題。

在這裏,我們去的代碼片段:

file1.php

public function fetch_assoc($res) { 
    $assoc_arr = mysql_fetch_assoc($res); 
    echo "<pre>"; 
    print_r($assoc_arr); 
    echo "</pre>"; 
    return $assoc_arr; 
} 

file2.php

$returned_assoc_arr = $foo->fetch_assoc($res); 
echo "<pre>"; 
print_r($returned_assoc_arr); 
echo "</pre>"; 

從file2.php輸出:

 
Array 
(
    [id] => 42 
    [Client] => 1 
    [DebtorAccountNumber] => 1234512345 
    [OrderDate] => 2001-04-03 02:00:00 
    [Status] => 1 
    [Comment] => this is a comment 
    [CreatedBy] => 1 
    [Reference] => 2083137729 
) 

Array 
(
    [0] => 42 
    [1] => 1 
    [2] => 1234512345 
    [3] => 2001-04-03 02:00:00 
    [4] => 1 
    [5] => this is a comment 
    [6] => 1 
    [7] => 2083137729 
) 
+0

你確定這是所有處理數據的代碼嗎?正如你所描述的,不應該發生。 – Yoshi

+0

此代碼示例沒有任何意義。你的方法有一個訪問修飾符,它需要方法類在類中定義,但你的方法調用fetch_assoc,並不涉及方法所在的類。因此,我回應Yoshi的觀點,確定你是在處理數據時使用這種方法? – GordyD

+2

我不是PHP高級開發人員,我可以幫你嗎? Gosh ... – 2011-06-18 08:27:20

回答

1

的方法fetch_assoc是一個memb呃一類功能。 (它在包含的對象上調用,它必須先實例化)

你在file2中使用的是一個普通函數fetch_assoc,它明顯不同於file1中描述的函數。

+0

是的,我敢肯定,我改變了代碼剪斷它是我的自我輸入錯誤。我從一個對象($ foo)調用fetch_assoc()方法。 我真的不知道爲什麼這是這樣的..仍然沒有想出爲什麼.. – hNz

+0

大多數數組函數將刪除關聯密鑰,所以發生了一些事情,我們無法在您的代碼段中看到。你可以發佈更多的代碼(或完整集合)到pastebin嗎? – Robin