2013-03-01 44 views
0

如果我有一定的MySQL表包含數據的多維數組,如:創建多維數組的列簡單的數組

Array ([0] => Array ([0] => 5255071 [id] => 5255071 [1] => 2013-02-28 20:40:48 [sent] => 2013-02-28 20:40:48) [1] => Array ([0] => 5253758 [id] => 5253758 [1] => 2010-11-16 12:56:39 [sent] => 2010-11-16 12:56:39) [2] => Array ([0] => 5253517 [id] => 5253517 [1] => 2010-11-16 12:43:57 [sent] => 2010-11-16 12:43:57) [3] => Array ([0] => 5252348 [id] => 5252348 [1] => 2010-11-16 11:19:35 [sent] => 2010-11-16 11:19:35) [4] => Array ([0] => 5252343 [id] => 5252343 [1] => 2010-11-16 11:19:01 [sent] => 2010-11-16 11:19:01) [5] => Array ([0] => 5252254 [id] => 5252254 [1] => 2010-11-16 11:11:26 [sent] => 2010-11-16 11:11:26) [6] => Array ([0] => 5251390 [id] => 5251390 [1] => 2010-11-16 09:16:57 [sent] => 2010-11-16 09:16:57) [7] => Array ([0] => 5249381 [id] => 5249381 [1] => 2010-11-16 03:01:32 [sent] => 2010-11-16 03:01:32) [8] => Array ([0] => 5249086 [id] => 5249086 [1] => 2010-11-16 02:47:30 [sent] => 2010-11-16 02:47:30) [9] => Array ([0] => 5247987 [id] => 5247987 [1] => 2010-11-16 01:59:34 [sent] => 2010-11-16 01:59:34) [10] => Array ([0] => 5247325 [id] => 5247325 [1] => 2010-11-16 01:33:12 [sent] => 2010-11-16 01:33:12)) 

有沒有一種方法來創建一個新的單一陣列中僅包含「ID」值?這是:

array(5255071, 5253758, 5253517, 5252348, ...) 

這個想法是爲了避免使用foreach循環。提前致謝。

+2

爲什麼你想避免foreach循環時,這正是那種它用於東西.. – cowls 2013-03-01 14:58:50

+0

你的陣列沒有任何意義。最終的結果會像'$ array ['id'] = 103; $ array ['text'] ='blah';' - 你不能在同一個鍵上有多個元素。 – MarcinWolny 2013-03-01 14:59:07

+0

你能告訴我們你的數組的var_dump()的結果嗎? – JoDev 2013-03-01 15:05:20

回答

3

您可以使用array_map()此:

function extractId ($array) { return $array['id']; } 
$targetArray = array_map($sourceArray, "extractId"); 
1
$output = array_values($array['id']); 

見:array_values

+0

這假設數組結構像'array('id'=> array(...))',顯然它是數組(array('id'=> ...),array('id'=> ...))'。 – 2013-03-01 15:02:57

+0

是嗎?從這個符號很難說出來。希望我們能看到一個實際的陣列,而不是玩猜謎遊戲:/ – MarcinWolny 2013-03-01 15:04:32

+1

嗯...無論如何,看起來對我來說都是這樣。 Becaue說'數組'不是'$ array'......但你是對的......我的猜測和你的一樣好。 ;) – 2013-03-01 15:06:56