dongxun6690 2014-06-13 17:49
浏览 143
已采纳

PHP获取多维数组的值并进行比较

I have this array $pages which spits out this data:

Array ( 
    [Name] => Array ( 
        [Subname] => Array ( 
            [0] => 43.2057, -79.9632, 1, -70,-150 
            [1] => 140240757658.jpg 
            [2] => 5 
            [3] => 0 
        ) ) 
    [Name2] => Array ( 
        [Subname2] => Array ( 
            [0] => 43.1769, -79.4703, 5, -70,-150 
            [1] => 140267498933.png 
            [2] => 16 
            [3] => 0 
        ) ) 
)

and I have this foreach setup:

foreach($pages as $row => $value) {
    echo '<li>'.$row.'<ul>';
    foreach($value as $x => $y) {
        echo 
            '<li>
                <a href="page.php?" action='.str_replace(" ", "", strtolower($y[2])).'" title="'.$x.'">'.$x.'</a>
             </li></ul></li>';
    }
}

What I am trying to do is if [3] in each of the Subname is equal to 0, then skip it from my foreach.

NOTE: Subname and Name are just examples, they will be different for each one.

  • 写回答

3条回答 默认 最新

  • dongyouzhui1969 2014-06-13 18:07
    关注

    This should work:

    foreach ($pages as $page) {
        foreach($page as $subname) {
            if ($subname[3] != 0) {
                /* Do whatever you want with the data of this subname */
            } 
        }
    }
    

    Or this if you want to use the key names:

    foreach ($pages as $pageKey => $page) {
        foreach($page as $subnameKey => $subname) {
            if ($subname[3] != 0) {
                /* Do whatever you want with the data of this subname */
            } 
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?