2013-03-01 46 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