2014-05-08 27 views
0

我想從使用下面的代碼創建的數組中回顯數組值。 該數組的數據是從MySQL表中提取的。使用`fetchAll(「從`類`選擇`name`」)創建的數組的Echo值`

$names = $db->fetchAll("select `name` from `classes`"); 

這就是存儲在變量中的$名

陣列([0] =>陣列([名稱] =>網頁設計)[1] =>陣列([名稱] => Art History [2] => Array([name] => Gym)[3] => Array([name] => English)[4] => Array([name] => Biology) 5] => Array([name] => 3D Animation)[6] => Array([name] => Tech Disc)[7] => Array( [name] => Math)[8] => Array([name] => Dance)[9] => Array( [name] => Video Production)[10] => Array([name] => Home EC)[11] =>陣列([名稱] =>政府)[12] =>陣列([名稱] =>物理))

我試圖回聲一個[名稱]值OR所有[名稱]值,但我無法弄清楚。我試過下面....

<?php echo $names['name'];?> 

返回任何

<?php echo $names['0'];?> //AND\\ <?php echo $names[0];?> 

都返回字符串數組

有人可以幫我附和從陣列中的單個值?

例子:網頁設計或藝術史

也可以有人幫我呼應從陣列中的所有值?

例子:網頁設計藝術史健身房英語生物學......

回答

2

你應該嘗試<?php echo $names[0]['name'];?><?php echo $names[1]['name'];?>等....

這是因爲你的查詢函數返回一個數組其中包含所有結果。 在該數組中,返回的每一行都是一個數組。並且每個字段都是該陣列中的關鍵字。

+0

NL-X,我應該如何創建它,所以它不是一個數組的數組?我應該如何修改** $ names = $ db-> fetchAll(「從'class'選擇'name'」); **?謝謝! –

+1

您可以保持原樣。如果你想把它全部放在一個單一的維數組中,你可以在後面執行'$ names = array_column($ names,'name');'。 –

+0

nl-x,是否有更好或更有效的方法來創建具有名稱值的數組? –

1

呼應單個值:

echo $names[0]['name'];

呼應的所有值:

foreach ($names as $name) { 
    echo $name['name'].' '; 
} 
+0

kkhugs,工作!非常感謝你。快速的問題,'fetchAll'是從mysql表創建數組的最佳方式嗎?再次感謝。 –

+1

既然它是這樣工作的,我會說它的方式很好。如果您想消除額外的步驟,請嘗試'fetchAll(PDO :: FETCH_COLUMN,0)',假設您使用的是PDO。 –