在PHP中迭代多维数组以输出内部数组中的内容

在PHP中迭代多维数组以输出内部数组中的内容,php,arrays,codeigniter,multidimensional-array,Php,Arrays,Codeigniter,Multidimensional Array,尽管尝试了几天,我还是无法在数组($SortedResult)中输出存储在数组($innerresult)中的“标题”。我需要能够访问$innerresult中的所有元素,以便在视图的侧菜单中显示它们(侧菜单只是属于一个类别的所有标题,例如:PHP)。欢迎对我下面的代码提出任何想法/修改 $this->db->select('*'); $this->db->from('crd_article_desc'); $this->db->where('article_

尽管尝试了几天,我还是无法在数组($SortedResult)中输出存储在数组($innerresult)中的“标题”。我需要能够访问$innerresult中的所有元素,以便在视图的侧菜单中显示它们(侧菜单只是属于一个类别的所有标题,例如:PHP)。欢迎对我下面的代码提出任何想法/修改

$this->db->select('*');
$this->db->from('crd_article_desc');
$this->db->where('article_id', $CurrentTitleId);
$query = $this->db->get();      
$result=$query->result_array(); //return fetched data

foreach($result as $value){ 

    $this->db->select('article_title');
    $this->db->from('crd_article_desc');
    $this->db->where('article_category', $value['article_category']);
    $innerquery = $this->db->get();         
    $innerresult=$innerquery->result_array();               
    $SortedResult[$value['article_category']][] =    array($innerresult,$value['article_desc']);   
}
return ($query->num_rows() > 0)?$SortedResult:FALSE;
}
下面是我如何尝试访问视图中的阵列

if(isset($res)){
    foreach($res as $ArticleCategory=>$title)
{ 
?>            
<h2 class="left"><span class="left_h2"><?php echo $ArticleCategory; ?> </h2>                 
<?php
    foreach($title as $articletitle) {
        $new_friendly_url = friendly_seo_string($articletitle['0']); 
?> 
        <a target="_top" href="<?php echo base_url();?>
<?php 
        echo   $new_friendly_url;   
?>
    ">
<?php 
    echo $articletitle['0']; 
?>
        </a>

<?php 
    } 
} 
}

您似乎在该数组中创建了一些不必要的级别,但这应该列出标题

foreach ( $SortedResult['PHP'][0][0] as $article )
    echo $article['article_title'];
}
这应该列出类别名称和标题

foreach ( $SortedResult as $catName => $inner ){

    foreach( $inner[0][0] as $article){
        echo $catName . ' - ' . $article['article_title'] . '<br>';
    }
}

执行
print\r($SortedResult)
然后您可以看到如何执行。如果不给我们看输出,有人会帮你汉克斯·里格斯。我现在把它打印成了数组([PHP]=>Array([0]=>Array([0]=>Array([article\u title]=>Variables)[1]=>Array([article\u title]=>Array)[2]=>Array([article\u title]=>operators)[3]=>Array([article\u title]=>loops)[4]=>Array([article\u title]=>recursive])[1]=>这是第1003条)))以后请编辑您的问题,没有人可以阅读评论中的代码。道歉。事情发生得很匆忙。嗨,里格斯,非常感谢!它按预期输出文章标题!我也需要打印的关键,这是一个类别的名称下列出的所有标题。在您的答案中,我不需要使用“PHP”作为键,而是需要使用存储类别的实际变量,例如PHP,这意味着它是动态处理的。如果我错了,请纠正我。这是一件非常有趣的事情。此外,你能告诉我一种方法,以尽量减少我的数组中的级别,但能够保持在数组中的类别名称和标题。我将非常感谢您。请查看答案,以获得对您的评论的答复,这是一个非常好的解决方案。经过几天的思考,这个问题在你的帮助下得到了解决,里格斯!谢谢。我非常喜欢多维数组。你能给我指一下多维数组上最好的在线学习资源吗,最好是PHP。当然可以。谢谢你的帮助。嗨,里格斯,我在数组中循环时遇到了一个错误,如上所述。请查看它,找出我在访问元素时出错的地方。非常感谢。
foreach ( $SortedResult as $catName => $inner ){

    foreach( $inner[0][0] as $article){
        echo $catName . ' - ' . $article['article_title'] . '<br>';
    }
}
PHP - Variables
PHP - arrays
PHP - operators
PHP - loops