2014-10-22 3 views
1

Как я могу вывести определенную часть массива, просто ключом? Вернее, как я могу изменить массив, чтобы он ТОЛЬКО содержал элементы с определенным ключом?Вывести определенную часть массива по его ключу

В моем массиве $postarray есть несколько элементов и ключей: заголовок, дата, путь к файлу.

array(1) { 
    [0]=> array(3) { 
     ["date"]=> string(10) "2014-10-21" 
     ["title"]=> string(75) "Improving Your Information Architecture With Card Sorting A Beginners Guide" 
     ["filepath"]=> string(75) "improving-your-information-architecture-with-card-sorting-a-beginners-guide" 
    } 
} 

Я хочу создать массив, в котором хранится только часть filepath. Таким образом, чтобы проверить я пробуя var_dump просто filepath ключ:

var_dump($postarray['filepath']); 

Но я получаю undefined index ошибку, только когда я Var _dump. Не говоря уже о том, когда я пытаюсь создать новую переменную массива только с этими данными.

+2

Try с 'var_dump ($ postarray [0] [ 'путь_к_файлу']);' – Gautam3164

+0

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

+0

'foreach ($ postarray as $ value) {echo $ value ['filepath']; } ' –

ответ

1

это многомерный массив.

В случае его возникновения. Вы должны назвать как

эхо $postarray[0]['filepath'] получить filepath

2

Вы пропускаете [0] в коде. Вы можете получить доступ к любому из них, используя его ключ.

$postarray[0]['date']; 
$postarray[0]['title']; 
$postarray[0]['filepath']; 
4

У вас есть многомерный массив или «массив массивов». Вам нужно перебирать внешний массив:

foreach ($postarray as $innerarray) { 
    var_dump($innerarray['filepath']); 
} 
+0

+1 для ответа, который работает с динамическим контентом – Francesca

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