Взять значение из массива. Нужен совет

Аватар пользователя volocuga@drupal.org volocuga@drupal.org 29 июня 2010 в 0:55

Пытаюсь определить включённые блоки в регионе

<?php

$region 

'content_top'//регион, который я смотрю
$array block_list($region); // массив этого региона
print_r(block_list($region));// смотрю массив, который выглядит так:

?>
<?php

Array ( [views_nodequeue_1-block] => stdClass Object 
[
bid] => 65 
[module] => views 
[delta] => nodequeue_1-block 
[theme] => grey 
[status] => 
[weight] => -16 
[region] => content_top 
[custom] => 
[throttle] => 
[visibility] => 
[pages] =>  
[
title] => 
[
cache] => -
[enabled] => 
[page_match] => 
[content] =>[subject] => 

) )

?>

Нужно достать значение с ключом [delta], но тут затык - стандартный foreach никак не хочет работать

Если смотреть

<?php

print_r

(array_keys($array)); 

?>

, выводит только такие ключи

<?php
Array ( [0] => views_nodequeue_1-block 
?>

Что посоветуете?

Комментарии

Аватар пользователя glu2006 glu2006 29 июня 2010 в 9:23

А нахрена foreach?

<?php
$znachenie 
$array['views_nodequeue_1-block']->delta;
?>

Если блоков в массиве (регионе) несколько то:

<?php
foreach ($array as $key => $item) {
  if(
$key == 'views_nodequeue_1-block'$znachenie $item->delta;
}
?>
Аватар пользователя volocuga@drupal.org volocuga@drupal.org 29 июня 2010 в 15:57

"glu2006" wrote:
А нахрена foreach?

Интересные способы, спасибо

Решил по своему,возможно несколько коряво, но работает

<?php       

$region 

'primary_menu';
       
$find_block 'nice_menus_1';
      if(
in_array($find_block,array_keys(block_list($region)))) {
print 
'Nice menu block detected';

?>