2012-02-29 101 views
0

我们有任何PHP阵列函数来获取此:获取阵列块在PHP

例子:

$array[0] = array("size" => "XL", "color" => "gold"); 
$array[1] = array("size" => "XLL", "color" => "siver"); 
$array[2] = array("size" => "M", "color" => "purple"); 

$color = array(); 
foreach($arrayas $result) 
{  
    $color[] = $result['color'];    
} 

我需要

$color[0] = "gold"; 
$color[1] = "silver"; 
$color[2] = "purple"; 

在此先感谢您的帮助。

+0

感谢Kuldeep您编辑 – 2012-03-02 06:32:03

回答

0

这将做你的PHP在寻找什么5.3+。

$color = array_reduce($array, 
    function($previous, $new) { $previous[] = $new['color']; return $previous;} 
); 

如果你在PHP 5.2,你可以在其他地方定义一个函数,并传递它:

function getColor($previous, $new) { 
    $previous[] = $new['color']; 
    return $previous; 
} 

$color = array_reduce($array, 'getColor'); 
+0

真棒:)很多非常感谢 – 2012-03-02 06:29:10

0

检查了这一点,它工作正常

$color = array(); 
foreach($array as $key=>$value) 
{  

    $color[$key] = $value['color'];    
} 

print_r($color); 
+0

我想跳过循环利用阵列功能,如果我们有一个在PHP中。我上面的代码对我来说只是想通过跳过foreach循环来优化它。 – 2012-03-01 05:15:56

+0

$ color [0] =“gold”; $ color [1] =“silver”; $ color [2] =“purple”; 就像它会取,你想以哪种方式得到的结果为 – 2012-03-01 05:37:23