2011-03-17 167 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']; 
}