PHP解包数组

QLi*_*Liu 5 php arrays

我想学习一种解包嵌套数组的智能方法.例如,我有一个数组变量$ rma_data ['status'],如下所示;

 [status] => Array
    (
        [0] => Array
            (
                [created] => 1233062304107
                [statusId] => 5
                [statusName] => Open
            )

        [1] => Array
            (
                [created] => 1233061910603
                [statusId] => 2
                [statusName] => New
            )

        [2] => Array
            (
                [created] => 1233061910603
                [statusId] => 1
                [statusName] => Created
            )

    )
Run Code Online (Sandbox Code Playgroud)

我想根据条件将Created timestamps和statusId存储到变量中:如果我们发现存在"Open"状态,我们将使用Open而不是"New"和"Created".如果只有New和Created,我们将使用New.

当前版本的方式:

for($i=0; $i<count($rma_data['status']); $i++)
                {
                    switch($rma_data['status'][$i]['statusId'])
                    {
                        case 5: 

                                            case 2:

                                            case 3:
                }
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

zaf*_*zaf 2

对于中小型规模,您已有的看起来不错。

我唯一的建议是使用其他变量,例如计数并展开一些紧凑的代码以提高效率和可读性。

例如:

$total=count($rma_data['status']);
for($i=0; $i<$total; $i++){
    $x=$rma_data['status'][$i];
    if($x['statusName']=='Open'){ // Use your criteria
        $t=$x['created'];
        //...Do Work
    }
}
Run Code Online (Sandbox Code Playgroud)