如何正确地打破foreach中的foreach?

时间:2015-10-19 20:25:58

标签: php arrays foreach break

所以这是我目前的代码:

foreach ($userItemsLoad as $item) {

    foreach ($dbItemsLoad as $items => $value) {

        if(array_key_exists($item['defindex'], $dbItemsLoad)) {
            echo $item['defindex'] . "</br>";
            echo $value['name'] . "</br>";
            break;
         }

    }            

}
来自$item['defindex']

$userItemsLoad是一个字符串。此字符串是$dbItemsLoad数组中值的键。

如果$item['defindex']$dbItemsLoad的密钥匹配,我想从$dbItemsLoad获取该密钥的数据。

我如何实现这一目标?

当我使用上面的代码时,如果我将break;放在第二个foreach中,那么第一个循环将从启动开始,如果我把它放在第一个循环中$value['name']始终是该数组中的第一个值。

$userItemsLoad看起来像这样:

 Array
(
[0] => Array
    (
        [id] => 669059101
        [original_id] => 669059101
        [defindex] => 15058
        [level] => 1
        [quality] => 4
        [inventory] => 2147483711
        [quantity] => 1
        [flag_cannot_trade] => 1
        [flag_cannot_craft] => 1
        [attributes] => Array
            (
                [0] => Array
                    (
                        [defindex] => 9
                        [value] => 3
                        [float_value] => 0
                    )

                [1] => Array
                    (
                        [defindex] => 153
                        [value] => 1065353216
                        [float_value] => 1
                    )

                [2] => Array
                    (
                        [defindex] => 14
                        [value] => 14
                        [float_value] => 0
                    )

            )

    )

[1] => Array
    (
        [id] => 692723781
        [original_id] => 692723781
        [defindex] => 5039
        [level] => 1
        [quality] => 4
        [inventory] => 2147483673
        [quantity] => 1
        [flag_cannot_trade] => 1
        [flag_cannot_craft] => 1

$dbItemsLoad看起来像这样:

Array
(
[1] => Array
    (
        [name] => Anti-Mage's Glaive
        [prefab] => default_item
        [image_inventory] => econ/heroes/antimage/antimage_weapon
        [item_description] => #DOTA_Item_Desc_AntiMages_Glaives
        [item_name] => #DOTA_Item_AntiMages_Glaive
        [item_type_name] => #DOTA_WearableType_Glaive
        [model_player] => models/heroes/antimage/antimage_weapon.vmdl
        [portraits] => Array
            (

数组1的defindex等于数组2的键。我想要数组2中该键的信息,如名称,图像等。

0 个答案:

没有答案