2015-12-30 3 views
0

Я хочу, чтобы преобразовать значение массива без использования цикла и у меня есть что-то массив как этотКак преобразовать массив все значения без использования цикла Еогеасп

Array 
    (
[0] => Array 
     (
     [month] => August 
     ) 

[1] => Array 
    (
     [month] => July 
    ) 

[2] => Array 
    (
     [month] => October 
    ) 
) 

Я хочу, чтобы преобразовать выше массив в ниже формат

Array 
(
    [0] => August 
    [1] => July 
    [2] => October 
) 

без использования какой-либо цикл

+0

Я пробовал call_user_func_array, но его возвращение только одно значение, я хочу все – Sheenu

+2

Просто любопытно, почему вы хотели бы это сделать? Кажется, глупо свертывание массива для создания нескольких массивов с одним строковым значением внутри него. – Matt

+0

у вас есть ответ @Matt – Sheenu

ответ

1

Если вы используете PHP 5.5 или выше, вы можете использовать функцию array_column:

$new_array = array_column($array, 'month'); 

В старых версиях PHP, вы можете использовать array_map

$new_array = array_map(function($x) { return $x['month']; }, $array); 

DEMO

+0

У меня есть запрос mysql, в котором результат получается в указанном выше формате массива, и я хочу преобразовать этот массив в формат ниже массива, а значение - dyanamic - – Sheenu

+0

. Следующий формат массива - это не массив. Это ничего. Это просто вывод вызова 'print_r' на 3 разных массивах. – Barmar

+0

Может быть, вы хотите, чтобы 'array (« Август »,« Июль »,« Октябрь »)'? – Barmar

0

это мой код так плз изменить его .... и попробовать этот

$a = array(0, 4, 5, 7); 
// PHP 5.3+ anonmymous function. 
$output = array_map(function($val) { return $val+1; }, $a); 

print_r($output); 
Array 
(
    [0] => 1 
    [1] => 5 
    [2] => 6 
    [3] => 8 
) 

Редактируйте OP:

function doubleValues($a) { 
    return array_map(function($val) { return $val * 2; }, $a); 
} 
+0

How я меняю свой код на этот формат – Sheenu

+1

Что это касается вопроса? Он не меняет значения в массиве. – Barmar

Смежные вопросы