2011-03-17 166 views
0

从这个全局变量:PHP - 嵌套数组

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

我得到的输出是这样的:

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] => 
     ) 
) 

我从来不知道有多少侧边栏也有,他们的命名方式。

有没有一种方式:

  • 列出所有sidebrs的ID只 - 侧边栏-1,侧边栏2,侧边栏-3,
  • 列出所有栏名称仅 - 主侧边栏,页脚侧边栏1,页脚侧边栏2,

谢谢!

+0

'的foreach($ wp_registered_sidebars为$密钥=> $ VAL){回声$键}'这将回声sidebar1等.. .. – Shaun 2011-03-17 13:15:16

+0

'回声$ VAL [ '名'];'这是打印的名字 – Shaun 2011-03-17 13:20:26

回答

2
$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
foreach(array_keys($wp_registered_sidebars) as $sidebarID) { 
    echo $sidebarID; 
} 

foreach($wp_registered_sidebars as $sidebar) { 
    echo $sidebar['name']; 
} 
0
$sidebarIds = array_keys($wp_registered_sidebars); 

$sideBarNames = array(); 
foreach($wp_registered_sidebars as $row) 
{ 
    $sideBarNames[] = $row['name']; 
} 
0
 
foreach ($wp_registered_sidebars as $key => $sidebars) { 
    echo "sidebar id" . $key; 
    echo "sidebar name " . $sidebar['name']; 
}