PHP如果切换为具有未知的多维数组

时间:2012-10-25 19:33:55

标签: php multidimensional-array arrayiterator

只是好奇是否有办法在If开关

中执行此操作
$account = array (
'{unkown value}' => 
    array (
      'accountID' => '4430290',
      'accountStatus' => '1',
      'parentAccountID' => '',
      'offerID' => '746',
      'billingModel' => '2.0',
    ),
);


if(array_pop($account)['billingModel'] == 'SomeValue') {
    // do stuff
}

我目前正在这样做,但认为可能有更好的方法

        $model = array_pop($accountInfo);
        if ($model['billingModel'] == 'someValue') return false;

2 个答案:

答案 0 :(得分:1)

较新版本的php允许您链接这样的表达式。例子:

php 5.3:http://codepad.viper-7.com/4zgSxW

php 5.4:http://codepad.viper-7.com/oGtKqc

两者都使用相同的代码:

<?php
$array = array(range(1,5), range(6,10), range(11, 15));

if(array_shift($array)[0] == 1){
    echo "hello";   
}

5.3显示了解析错误。 5.4显示了预期的输出。

答案 1 :(得分:0)

如果你只是想做一些事情,如果subarray元素有一些值,那么你必须实际查看array_search()

http://php.net/manual/en/function.array-search.php