Foreach循环以一种方式工作,而不是另一种方式


Foreach loop works one way but not the other

我似乎有一些问题通过数据数组的循环它的工作方式,但不是我想要的方式。

我应该先说明这个数组有两个变量$departments$_UNIQUECONSTANT['departments']。如果能让它持续工作,那就太好了。

数组

Array (
    [departments] => Array (
        [0] => Array (
            [id] => 2
            [name] => Support
            [description] => Support Department
        )
        [1] => Array (
            [id] => 3
            [name] => Accounting
            [description] => Accounting Department
        )
    )
)

工作功能。

foreach($departments as $department){
    $department['id'];
}

我需要工作的功能。

foreach($_UNIQUECONSTANT['departments'] as $department){
    $department['id'];
}

这里有两个应该起作用的方法:

注意:我没有测试它们

define('_UNIQUECONSTANT', serialize(array()));
$d = unserialize(_UNIQUECONSTANT);
foreach($d["departments"] as $department){
    $department['id'];
}
// Newer PHP versions
foreach(unserialize(_UNIQUECONSTANT)["departments"] as $department){
    $department['id'];
}