2016-10-22 4 views
1

У меня есть массив:Получить первое значение массива

Array (
[0] => Array 
    (
     [0] => Pen 
     [1] => Apple 
    ) 

[1] => Array 
    (
     [0] => Oooo 
     [1] => Pineapple pen 
    ) 

Как я могу получить первые элементы каждого массива?

Например: Pen Оооо

Это моя функция

$parameters = array('wiki_1', 'wiki_2', 'wiki_3', 'wiki_4','wiki_5' ,'wiki_6', 'wiki_7', 'wiki_8', 'wiki_9', 'wiki_10', 'wiki_11', 'wiki_12'); 

function wiki_custom_fields($parameters, $id) { 
     foreach ($parameters as $parameter) { 
      $wiki_result[] = get_post_custom_values($parameter, $id, true); 
     } 

    echo '<pre>'; 
    print_r($wiki_result); 
    echo '</pre>'; 
} 

Если я использую print_r($wiki_result[][0]); это получить 500 Error.

ответ

0

Вы можете использовать array_column функция

$array = array(
    array('Pen', 'Apple'), 
    array('Oooo', 'Pineapple pen') 
); 

$result = array_column($array, 0); 

echo '<pre>'; 
print_r($result); 
echo '</pre>'; 

Выход:

Array 
(
    [0] => Pen 
    [1] => Oooo 
) 
0

попробовать этот код

print_r($wiki_result[0]); 
+0

Он получает только первый элемент массива. 'Array ( [0] => Перо [1] => Apple )' – Frunky

+0

Извините за мою ошибку. Мне нужен первый элемент каждого ассоциативного массива. См. Пример в теме – Frunky

0
$param = array('first_key'=> 'First', 2, 3, 4, 5); 
$keys = array_keys($param); 
echo "Key = ".$keys[0]; 

пример:

$parameters = array('wiki_1', 'wiki_2', 'wiki_3', 'wiki_4','wiki_5' ,'wiki_6', 'wiki_7', 'wiki_8', 'wiki_9', 'wiki_10', 'wiki_11', 'wiki_12'); 

function wiki_custom_fields($parameters, $id) { 
     foreach ($parameters as $parameter) { 
      $wiki_result[] = get_post_custom_values($parameter, $id, true); 
     } 

    $keys = array_keys($wiki_resul); 
    echo "Key = ".$keys[0]; 
    echo '<pre>'; 
    print_r("Key = ".$keys[0]); 
    echo '</pre>'; 
} 
1

Использование сброса http://php.net/manual/es/function.reset.php

Эта функция устанавливает внутренний указатель массива на первый элемент, а также возвращает его.

$first = reset($array)

+0

Также более оптимален, чем array_keys, как если бы массив содержал, например, 1000 значений, array_keys генерировал бы массив из 1000 позиций, чтобы получить первый элемент, с сбросом. Не будет генерировать лишние неиспользуемые данные, которые потребляют память. –

+0

Спасибо. Почти получилось, но теперь это выглядит так: 'Array ([0] => Pen, [1] => Apple)' И мне нужно получить 'Array ([0] => Array ([0] => Pen) ​​[1] => Array ([0] => Oooo)) ' – Frunky

+0

$ r = []; foreach ($ array as $ k => $ list) { $ r [$ k] = reset ($ list); } –

0

Try:

$result = array(); 
foreach ($elements as $elem){ 
    $result[] = $elem[0]; 
} 

$ результат содержит 'Pen', 'Оооо.

sintaxis $result[] для добавления элемента в последней позиции в массиве, так же, как array_push (http://php.net/manual/es/function.array-push.php)