2012-02-29 2 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 для Редактировать –

ответ

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

Awesome :) Many Many thanks –

0

проверить это работает отлично

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

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

print_r($color); 
+0

Я хочу, чтобы пропустить цикл с функцией массива, если мы имеем один в PHP. Мой выше код работает для меня, просто хочу оптимизировать его, пропуская цикл foreach. –

+0

$ color [0] = "gold"; $ color [1] = "серебро"; $ color [2] = "фиолетовый"; нравится тому, что он получит, и в каком направлении вы хотите получить результаты как –