【发布时间】:2014-05-19 05:33:21
【问题描述】:
我有一个名为$rebate_by_product_data的动态多维数组:
Array
(
[0] => Array
(
[id] => 93
[start_date] => 2014-06-01
[end_date] => 2014-06-30
[count] => 10000
[rebate_type_id] => 2
[created_at] => 1400148462
[updated_at] => 1400148462
[applicable_states] => Array
(
[0] => Array
(
[id] => 446
[state_id] => 2
[rebate_id] => 93
[created_at] => 1400148462
[updated_at] => 1400148462
[state_name] => Alaska
)
[1] => Array
(
[id] => 447
[state_id] => 14
[rebate_id] => 93
[created_at] => 1400148462
[updated_at] => 1400148462
[state_name] => Indiana
)
[2] => Array
(
[id] => 448
[state_id] => 23
[rebate_id] => 93
[created_at] => 1400148462
[updated_at] => 1400148462
[state_name] => Minnesota
)
[3] => Array
(
[id] => 449
[state_id] => 35
[rebate_id] => 93
[created_at] => 1400148462
[updated_at] => 1400148462
[state_name] => Ohio
)
[4] => Array
(
[id] => 450
[state_id] => 42
[rebate_id] => 93
[created_at] => 1400148462
[updated_at] => 1400148462
[state_name] => Tennessee
)
)
[rebate_product] => Array
(
[0] => Array
(
[products] => Array
(
[0] => Array
(
[product_id] => 13
[product_name] => Budwiser
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 1
)
[1] => Array
(
[product_id] => 16
[product_name] => Fosters
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 1
)
)
[saleable_unit] => Array
(
[id] => 169
[quantity] => 20
[pack_of] => 10
[volume] => 30
[volume_unit_id] => 9
[amount] => 40
[created_at] => 1400148462
[updated_at] => 1400148462
)
)
[1] => Array
(
[products] => Array
(
[0] => Array
(
[product_id] => 14
[product_name] => Kingfisher Strong
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 2
)
[1] => Array
(
[product_id] => 15
[product_name] => Tuborg
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 2
)
)
[saleable_unit] => Array
(
[id] => 170
[quantity] => 60
[pack_of] => 50
[volume] => 70
[volume_unit_id] => 20
[amount] => 80
[created_at] => 1400148462
[updated_at] => 1400148462
)
)
)
)
[1] => Array
(
[id] => 99
[start_date] => 2014-05-29
[end_date] => 2014-05-30
[count] => 12
[rebate_type_id] => 2
[created_at] => 1400163679
[updated_at] => 1400248387
[applicable_states] => Array
(
[0] => Array
(
[id] => 500
[state_id] => 1
[rebate_id] => 99
[created_at] => 1400248387
[updated_at] => 1400248387
[state_name] => Alabama
)
[1] => Array
(
[id] => 501
[state_id] => 12
[rebate_id] => 99
[created_at] => 1400248387
[updated_at] => 1400248387
[state_name] => Idaho
)
[2] => Array
(
[id] => 502
[state_id] => 14
[rebate_id] => 99
[created_at] => 1400248387
[updated_at] => 1400248387
[state_name] => Indiana
)
[3] => Array
(
[id] => 503
[state_id] => 27
[rebate_id] => 99
[created_at] => 1400248387
[updated_at] => 1400248387
[state_name] => Nebraska
)
)
[rebate_product] => Array
(
[0] => Array
(
[products] => Array
(
[0] => Array
(
[product_id] => 12
[product_name] => Signature Scotch Whiskey
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 1
)
[1] => Array
(
[product_id] => 13
[product_name] => Budwiser
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 1
)
[2] => Array
(
[product_id] => 15
[product_name] => Tuborg
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 1
)
)
[saleable_unit] => Array
(
[id] => 195
[quantity] => 10
[pack_of] => 12
[volume] => 100
[volume_unit_id] => 7
[amount] => 200
[created_at] => 1400248388
[updated_at] => 1400248388
)
)
[1] => Array
(
[products] => Array
(
[0] => Array
(
[product_id] => 16
[product_name] => Fosters
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 2
)
[1] => Array
(
[product_id] => 14
[product_name] => Kingfisher Strong
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 2
)
)
[saleable_unit] => Array
(
[id] => 196
[quantity] => 2
[pack_of] => 12
[volume] => 200
[volume_unit_id] => 9
[amount] => 77777
[created_at] => 1400248388
[updated_at] => 1400248388
)
)
)
)
[2] => Array
(
[id] => 100
[start_date] => 2014-06-26
[end_date] => 2014-06-30
[count] => 10000
[rebate_type_id] => 2
[created_at] => 1400240035
[updated_at] => 1400243964
[applicable_states] => Array
(
[0] => Array
(
[id] => 495
[state_id] => 2
[rebate_id] => 100
[created_at] => 1400247125
[updated_at] => 1400247125
[state_name] => Alaska
)
[1] => Array
(
[id] => 496
[state_id] => 14
[rebate_id] => 100
[created_at] => 1400247125
[updated_at] => 1400247125
[state_name] => Indiana
)
[2] => Array
(
[id] => 497
[state_id] => 23
[rebate_id] => 100
[created_at] => 1400247125
[updated_at] => 1400247125
[state_name] => Minnesota
)
[3] => Array
(
[id] => 498
[state_id] => 35
[rebate_id] => 100
[created_at] => 1400247125
[updated_at] => 1400247125
[state_name] => Ohio
)
[4] => Array
(
[id] => 499
[state_id] => 42
[rebate_id] => 100
[created_at] => 1400247125
[updated_at] => 1400247125
[state_name] => Tennessee
)
)
[rebate_product] => Array
(
[0] => Array
(
[products] => Array
(
[0] => Array
(
[product_id] => 13
[product_name] => Budwiser
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 1
)
[1] => Array
(
[product_id] => 16
[product_name] => Fosters
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 1
)
)
[saleable_unit] => Array
(
[id] => 193
[quantity] => 20
[pack_of] => 10
[volume] => 30
[volume_unit_id] => 9
[amount] => 40
[created_at] => 1400247125
[updated_at] => 1400247125
)
)
[1] => Array
(
[products] => Array
(
[0] => Array
(
[product_id] => 14
[product_name] => Kingfisher Strong
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 2
)
[1] => Array
(
[product_id] => 15
[product_name] => Tuborg
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 2
)
)
[saleable_unit] => Array
(
[id] => 194
[quantity] => 6000
[pack_of] => 500
[volume] => 700
[volume_unit_id] => 9
[amount] => 805
[created_at] => 1400247125
[updated_at] => 1400247125
)
)
)
)
[3] => Array
(
[id] => 102
[start_date] => 2014-05-20
[end_date] => 2014-05-31
[count] => 545
[rebate_type_id] => 2
[created_at] => 1400264987
[updated_at] => 1400264987
[applicable_states] => Array
(
[0] => Array
(
[id] => 505
[state_id] => 2
[rebate_id] => 102
[created_at] => 1400264987
[updated_at] => 1400264987
[state_name] => Alaska
)
[1] => Array
(
[id] => 506
[state_id] => 3
[rebate_id] => 102
[created_at] => 1400264987
[updated_at] => 1400264987
[state_name] => Arizona
)
)
[rebate_product] => Array
(
[0] => Array
(
[products] => Array
(
[0] => Array
(
[product_id] => 12
[product_name] => Signature Scotch Whiskey
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 1
)
)
[saleable_unit] => Array
(
[id] => 200
[quantity] => 7
[pack_of] => 10
[volume] => 88
[volume_unit_id] => 7
[amount] => 56
[created_at] => 1400264987
[updated_at] => 1400264987
)
)
)
)
[4] => Array
(
[id] => 103
[start_date] => 2014-05-07
[end_date] => 2014-05-29
[count] => 12456
[rebate_type_id] => 2
[created_at] => 1400266051
[updated_at] => 1400266051
[applicable_states] => Array
(
[0] => Array
(
[id] => 507
[state_id] => 3
[rebate_id] => 103
[created_at] => 1400266051
[updated_at] => 1400266051
[state_name] => Arizona
)
[1] => Array
(
[id] => 508
[state_id] => 5
[rebate_id] => 103
[created_at] => 1400266051
[updated_at] => 1400266051
[state_name] => California
)
)
[rebate_product] => Array
(
[0] => Array
(
[products] => Array
(
[0] => Array
(
[product_id] => 12
[product_name] => Signature Scotch Whiskey
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 1
)
[1] => Array
(
[product_id] => 16
[product_name] => Fosters
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 1
)
)
[saleable_unit] => Array
(
[id] => 201
[quantity] => 1
[pack_of] =>
[volume] => 1
[volume_unit_id] => 10
[amount] => 4
[created_at] => 1400266051
[updated_at] => 1400266051
)
)
[1] => Array
(
[products] => Array
(
[0] => Array
(
[product_id] => 13
[product_name] => Budwiser
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 2
)
[1] => Array
(
[product_id] => 15
[product_name] => Tuborg
[manufacturer_id] => 37
[company_name] => Amazon
[rebate_variant_id] => 2
)
)
[saleable_unit] => Array
(
[id] => 202
[quantity] => 1
[pack_of] =>
[volume] => 1
[volume_unit_id] => 10
[amount] => 5
[created_at] => 1400266051
[updated_at] => 1400266051
)
)
)
)
)
您可以从上面看到,实际数组的大小可以非常大,也可以非常小。这取决于用户输入的数据。现在,如果您在每个带有键 [products] 的内部数组中仔细观察这个数组,就会有更多数组。但是在[products] 键下的每个内部数组中,键[manufacturer_id] 具有与其关联的相同值37。
我想将此值分配给一个新变量,就是这样。我不想要上述数组中的任何数据。所以我认为要从这个非常大的数组中获取单个值,应用多个循环并不是一个好习惯。我想以最小的数量获得这个值。的代码行。我应该如何实现这一目标?
有人可以在这方面帮助我吗?
【问题讨论】:
标签: php arrays multidimensional-array associative-array key-value