Php 添加基于条件的for循环

Php 添加基于条件的for循环,php,if-statement,Php,If Statement,我有一个函数,它返回两种数组,如下所示 //第一阵列 $arr = array( 'P' => array( 'val1' => 1, 'val2' => 12 ), 'T' => array( 'val1' => 4, 'val2' => 5 ) ); //第二阵列 $arr = array( 'South' => array(

我有一个函数,它返回两种数组,如下所示

//第一阵列

$arr = array(
    'P' => array(
        'val1' => 1,
        'val2' => 12
    ),
    'T' => array(
        'val1' => 4,
        'val2' => 5
    )
);
//第二阵列

$arr = array(
    'South' => array(
            'P' => array(
                'val1' => 1,
                'val2' => 12
            ),
            'T' => array(
                'va11' => 14,
                'val2' => 15
            ),
    ),
    'North' => array(
            'P' => array(
                'val1' => 6,
                'val2' => 9
            ),
            'T' => array(
                'va11' => 23,
                'val2' => 22
            )
    )
);
第二个arr的索引比第一个数组多,我想循环并显示第一个数组

//我的代码

$arrStr = 'first';
if ($flag == 1)
    $arrStr = 'second';
if ($flag == 1)
    for ($retarr =>$directionIndex => $retArr) {
        for (${$arrStr} as $ky=>$valArr) {
            // so i have to close the for loop also based on condition , which does not work ,
        } // end of first for 
        if ($flag == 1)
    }  // end of second for

是否有更好的方法根据条件循环,或者我是否应该更正函数并根据标志将整个显示内容重复拆分两次

为什么不使用大括号!!!如果符合条件,您可以随时中断for循环:@Pogrindis括号表示if条件,将干扰我要添加的括号这是不可靠的。。为什么不使用switch语句或其他什么呢?你在开同样的支票3倍。。。更好的办法是创建一个函数?