2012-05-12 98 views
0

我想我的新聞推送結果轉換成一個數組,所以,我現在可以組的結果,並且有類似的條目「彼得和另外6人評論...」推(多維)數組多維數組在PHP

我想請求其他人,他們通過in_array()對同一個線程發表了評論。將是一個很好的解決方案。但是現在我很難將整個mysql結果轉換爲一個數組,而不必更改原始while循環的所有數據庫值與$ getnews_row一起請求的整個結構。我認爲我創建數組的方式可能有錯誤。

我在過去的一個小時中搜索了我的手,但我找不到任何實際將變量(數組)添加到多維數組的示例。

任何想法?

我的PHP:

$x = 0; 
while($getnews_row = mysql_fetch_array($res_getnews)) 
{ 
$this_getnewsrow = array 
    (
    [$x] => array 
    ($getnews_row) 
) 
    $x++; 
} 

$x = $x_total; 
$x=0; 
while($x < $x_total) 
{ 

    $getnews_row = $this_getnewsrow[$x]; 

    echo $getnews_row['id']; 

    x++; 
} 

我的輸出:

解析錯誤:語法錯誤,意想不到 '[' 在上線48(第6行/newsfeed/index.php,期望 ')'此摘錄)

回答

2

您不能以這種方式初始化數組。

嘗試用這種

while($getnews_row = mysql_fetch_array($res_getnews)) 
{ 
$this_getnewsrow[] = $getnews_row; 
} 

更換此

$x = 0; 
while($getnews_row = mysql_fetch_array($res_getnews)) 
{ 
$this_getnewsrow = array 
    (
    [$x] => array 
    ($getnews_row) 
) 
    $x++; 
} 

看看PHP: Arrays


也可以嘗試用$x_total = $x;

更換

並在第二個循環中添加$x變量。

+0

不起作用 - 我認爲這些行可能會添加到$ this_getnewsrow中,但無法在第二個while循環中請求這些值。 –

+0

哦,工作!謝謝! :) –

0

試試這個:

$i = 0; 
while($getnews_row = mysql_fetch_array ($res_getnews)) { 
    $this_getnewsrow [$i] = $getnews_row; 
    $i++; 
} 

$j = 0; 
while($j < $i_total) 
{ 

    $getnews_row = $this_getnewsrow[$j]; 

    echo $getnews_row ['id']; 

    $j++; 
} 

UPDATE

<?php 
while ($row = mysql_fetch_array($res_getnews, MYSQL_ASSOC)) { 
    echo $row ['id']; 
} 
+0

同樣的問題 - 我認爲這些行可能被添加到$ this_getnewsrow中,但無法在第二個while循環中請求這些值。 –

+0

如果我正確理解您要實現的目標,我在ÚPDATE下放入的代碼應符合您的目的;試一試! (只需用你的問題替換你粘貼的整個代碼塊) – Jeroen

+0

但是這不只是簡單地從mysql獲取值?我寧願在第二個while循環中讀取數組......當涉及到$ this_getnewsrow數組中的很多修改時,這會爲我節省很多時間... –