2015-09-20 5 views
0

У меня есть многомерный массив PHP в таком виде:Получить значение многомерного массива с другим значением

array(
    (int) 0 => array(
    'Category' => array(
     'id' => '01', 
     'title' => 'SomeCategory' 
    ) 
), 
    (int) 1 => array(
    'Category' => array(
     'id' => '02', 
     'title' => 'OtherCategory' 
    ) 
) 
) 

Я хочу, чтобы получить название категории с определенным идентификатором, например, SomeCategory, когда у меня есть идентификатор 01.

Есть ли лучший (более простой или простой) способ сделать это, чем этот?

foreach($categories as $nestedCategory) { 
    foreach($nestedCategory as $category) { 
    if($category['id'] === $postedData['Submission.Category.0.id']) { 
     debug($category['title']); 
    } 
    } 
} 

Спасибо!

ответ

1

Если идентификаторы уникальны можно переписать массив

foreach($array as $n => $item) { 
    $arr[$item['Category']['id']] = $item; 
} 

// get id 02 
echo $arr['02']['Category']['title']; // output: OtherCategory