【问题标题】:PHP - nested ArraysPHP - 嵌套数组
【发布时间】:2011-03-17 13:10:31
【问题描述】:

来自这个全局变量:

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

我永远不知道有多少个侧边栏以及它们是如何命名的。

有没有办法:

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

谢谢!

【问题讨论】:

  • foreach($wp_registered_sidebars as $key =&gt; $val){ echo $key} 这将回显 sidebar1 等......
  • echo $val['name']; 这是打印名称

标签: php arrays wordpress sidebar


【解决方案1】:
$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
}

【讨论】:

    【解决方案2】:
    foreach(array_keys($wp_registered_sidebars) as $sidebarID) {
        echo $sidebarID;
    }
    
    foreach($wp_registered_sidebars as $sidebar) {
        echo $sidebar['name'];
    }
    

    【讨论】:

      【解决方案3】:
      $sidebarIds = array_keys($wp_registered_sidebars);
      
      $sideBarNames = array();
      foreach($wp_registered_sidebars as $row)
      {
        $sideBarNames[] = $row['name'];
      }
      

      【讨论】:

        【解决方案4】:
        foreach ($wp_registered_sidebars as $key => $sidebars) { 回显“侧边栏 ID”。 $键; 回声“侧边栏名称”。 $sidebar['name']; }

        【讨论】:

          猜你喜欢
          • 2022-01-18
          • 1970-01-01
          • 1970-01-01
          • 2013-06-17
          • 2018-07-04
          • 2011-04-10
          • 2012-08-07
          • 2020-08-24
          • 1970-01-01
          相关资源
          最近更新 更多