2016-04-07 2 views
0

Я делаю это ниже, это тот метод, который хорош или это также возможно с помощью некоторых функций. пожалуйста, предложите.Как преобразовать значения массива, когда значения находятся в форме массива?

Я один массив с именем $ элементов и выход, как показано ниже:

array (size=2) 
    0 => 
    array (size=1) 
     'value' => string '7' (length=1) 
    1 => 
    array (size=1) 
     'value' => string '14' (length=2) 

Но мне нужно из положить, как показано ниже:

array (size=2) 
    0 => int 7 
    1 => int 14 

И я, как это и получил требуется мое результаты:

$new_array = array(); 
    foreach($items as $key=>$value){ 
    $new_array[] = $value['value']; 
    } 

var_dump($new_array); 

array (size=2) 
    0 => string '7' (length=1) 
    1 => string '14' (length=2) 

, пожалуйста, предположите, что это установка ht подход?

+1

'$ new_array = array_column ($ items, 'value'); '- [PHP Docs] (http://php.net/manual/en/function.array-column.php) –

+0

@M arkBaker Спасибо! ! – jas

ответ

2

Попробуйте это:

$newArray = array_map(function($value) { return (int)$value['value']; }, $items); 

или как предложено в комментариях по @MarkBaker

$new_array = array_column($items, 'value'); 
+0

Спасибо! Я просто хотел конвертировать с некоторой функцией, как вы, и без цикла foreach. – jas

0

PHP int() отбрасывает значение в целое, просто использовать его

$new_array = array(); 
    foreach($items as $key=>$value){ 
    $new_array[] = (int)$value['value']; 
    } 

var_dump($new_array); 
Смежные вопросы