PHP - вложенные массивы - PullRequest
0 голосов
/ 17 марта 2011

Из этой глобальной переменной:

<code>echo '<pre>';
print_r($wp_registered_sidebars);
echo '
';

Я получаю вывод, подобный этому:

Array
(
    [sidebar-1] => Array
        (
            [name] => Main Sidebar
            [id] => sidebar-1
            [description] => text
            [before_widget] => 
            [after_widget] => 
            [before_title] => 
            [after_title] =>
        )

    [sidebar-2] => Array
        (
            [name] => Footer Sidebar 1
            [id] => sidebar-2
            [description] => text
            [before_widget] => 
            [after_widget] => 
            [before_title] => 
            [after_title] =>
        )

    [sidebar-3] => Array
        (
            [name] => Footer Sidebar 2
            [id] => sidebar-3
            [description] => text
            [before_widget] => 
            [after_widget] => 
            [before_title] => 
            [after_title] =>
        )
)

Я никогда не знаю, сколько есть боковых панелей и как они названы.

Есть ли способиз:

  • перечисление только идентификаторов всех боковых колонок - боковая панель-1, боковая панель-2, боковая панель-3,
  • перечисление только имен боковой панели - главная боковая панель, боковая панель нижнего колонтитула 1, боковая панель нижнего колонтитула2,

Спасибо!

Ответы [ 4 ]

2 голосов
/ 17 марта 2011
$resultSlideBars = array();
foreach($wp_registered_sidebars as $slidebars)
{
   $resultSlideBars[$slidebars['id']] = $slidebars['name'];    // will store array as array(id => name

}

// ids 
echo implode(' ', array_keys($resultSlideBars)); 
echo implode(' ', $resultSlideBars);   // echo names

или

foreach($wp_registered_sidebars as $slidebars)
{
   echo $slidebars['id'];      // echo id 
   echo $slidebars['name'];    // echo name
}
0 голосов
/ 17 марта 2011
foreach ($wp_registered_sidebars as $key => $sidebars) {
    echo "sidebar id" . $key;
    echo "sidebar name " . $sidebar['name'];
}
0 голосов
/ 17 марта 2011
$sidebarIds = array_keys($wp_registered_sidebars);

$sideBarNames = array();
foreach($wp_registered_sidebars as $row)
{
  $sideBarNames[] = $row['name'];
}
0 голосов
/ 17 марта 2011
foreach(array_keys($wp_registered_sidebars) as $sidebarID) {
    echo $sidebarID;
}

foreach($wp_registered_sidebars as $sidebar) {
    echo $sidebar['name'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...