2013-07-09 64 views
0

我有一個名爲$user_study_test_packages的多維數組。爲了您的參考,我正在打印整個陣列。如何訪問多維數組中的值並在循環中激發查詢?

Array 
(
    [test] => Array 
     (
      [0] => Array 
       (
        [user_pack_id] => 214 
        [user_id] => 5291d6ee6c5b577514e832f077a496ca 
        [pack_id] => 21e86b3ebf6a8af2a9fcf136c4f8e88a 
        [pack_name] => Section wise test 
        [pack_price_discounted] => 0.00 
        [pack_discount] => 0.00 
        [pack_price] => 0.00 
        [pack_type] => test 
        [pack_expiry_date] => 21st March 2014 
        [transaction_no] => 
        [pack_assign_type] => online_purchase 
        [pack_assign_date] => 0 
        [transaction_id] => 
        [transaction_cc_avenue_no] => 
        [transaction_card_category] => 
        [transaction_user_id] => 
        [transaction_user_name] => 
        [transaction_user_email_id] => 
        [transaction_deal_code] => 
        [transaction_dc_id] => 
        [transaction_amount] => 
        [transaction_discount] => 
        [transaction_total_amount] => 
        [transaction_data_assign] => 
        [transaction_status] => 
        [transaction_date] => 
        [transaction_update_date] => 
        [transaction_update_user_id] => 
        [pack_expiry_date1] => 2014-03-21 
        [test_pack_desc] => sectionm wise tests 
       ) 

      [1] => Array 
       (
        [user_pack_id] => 208 
        [user_id] => 5291d6ee6c5b577514e832f077a496ca 
        [pack_id] => e7e95de96987cc7c89c1f0183110fb38 
        [pack_name] => Bank Reasoning 
        [pack_price_discounted] => 0.00 
        [pack_discount] => 0.00 
        [pack_price] => 0.00 
        [pack_type] => test 
        [pack_expiry_date] => 19th June 2013 
        [transaction_no] => 
        [pack_assign_type] => online_purchase 
        [pack_assign_date] => 0 
        [transaction_id] => 
        [transaction_cc_avenue_no] => 
        [transaction_card_category] => 
        [transaction_user_id] => 
        [transaction_user_name] => 
        [transaction_user_email_id] => 
        [transaction_deal_code] => 
        [transaction_dc_id] => 
        [transaction_amount] => 
        [transaction_discount] => 
        [transaction_total_amount] => 
        [transaction_data_assign] => 
        [transaction_status] => 
        [transaction_date] => 
        [transaction_update_date] => 
        [transaction_update_user_id] => 
        [pack_expiry_date1] => 2013-06-19 
        [test_pack_desc] => This package contains 8 tests on Reasoning. 
       ) 

      [2] => Array 
       (
        [user_pack_id] => 207 
        [user_id] => 5291d6ee6c5b577514e832f077a496ca 
        [pack_id] => 42eaca88ae0079a77604d75d30846e46 
        [pack_name] => test question order 
        [pack_price_discounted] => 0.00 
        [pack_discount] => 0.00 
        [pack_price] => 0.00 
        [pack_type] => test 
        [pack_expiry_date] => 19th April 2013 
        [transaction_no] => 
        [pack_assign_type] => online_purchase 
        [pack_assign_date] => 0 
        [transaction_id] => 
        [transaction_cc_avenue_no] => 
        [transaction_card_category] => 
        [transaction_user_id] => 
        [transaction_user_name] => 
        [transaction_user_email_id] => 
        [transaction_deal_code] => 
        [transaction_dc_id] => 
        [transaction_amount] => 
        [transaction_discount] => 
        [transaction_total_amount] => 
        [transaction_data_assign] => 
        [transaction_status] => 
        [transaction_date] => 
        [transaction_update_date] => 
        [transaction_update_user_id] => 
        [pack_expiry_date1] => 2013-04-19 
        [test_pack_desc] => test question order 
       ) 

      [3] => Array 
       (
        [user_pack_id] => 206 
        [user_id] => 5291d6ee6c5b577514e832f077a496ca 
        [pack_id] => fc55acb1edc47d2dc339562db4c13729 
        [pack_name] => test question order1 
        [pack_price_discounted] => 0.00 
        [pack_discount] => 0.00 
        [pack_price] => 0.00 
        [pack_type] => test 
        [pack_expiry_date] => 19th April 2013 
        [transaction_no] => 
        [pack_assign_type] => online_purchase 
        [pack_assign_date] => 0 
        [transaction_id] => 
        [transaction_cc_avenue_no] => 
        [transaction_card_category] => 
        [transaction_user_id] => 
        [transaction_user_name] => 
        [transaction_user_email_id] => 
        [transaction_deal_code] => 
        [transaction_dc_id] => 
        [transaction_amount] => 
        [transaction_discount] => 
        [transaction_total_amount] => 
        [transaction_data_assign] => 
        [transaction_status] => 
        [transaction_date] => 
        [transaction_update_date] => 
        [transaction_update_user_id] => 
        [pack_expiry_date1] => 2013-04-19 
        [test_pack_desc] => 111 
       ) 

      [4] => Array 
       (
        [user_pack_id] => 202 
        [user_id] => 5291d6ee6c5b577514e832f077a496ca 
        [pack_id] => 9f27643023a83addd5eed41c4aade840 
        [pack_name] => Bank Exams Complete Combo 
        [pack_price_discounted] => 399.00 
        [pack_discount] => 0.00 
        [pack_price] => 399.00 
        [pack_type] => test 
        [pack_expiry_date] => 26th January 2013 
        [transaction_no] => qfAcXhptywH2nxk 
        [pack_assign_type] => online_purchase 
        [pack_assign_date] => 1373337030 
        [transaction_id] => 97 
        [transaction_cc_avenue_no] => CCA12JCTU584 
        [transaction_card_category] => NETBANKING 
        [transaction_user_id] => 5291d6ee6c5b577514e832f077a496ca 
        [transaction_user_name] => Amol Joshi 
        [transaction_user_email_id] => [email protected] 
        [transaction_deal_code] => 
        [transaction_dc_id] => 0 
        [transaction_amount] => 399.00 
        [transaction_discount] => 0.00 
        [transaction_total_amount] => 399.00 
        [transaction_data_assign] => 1 
        [transaction_status] => success 
        [transaction_date] => 1351228593 
        [transaction_update_date] => 0 
        [transaction_update_user_id] => 
        [pack_expiry_date1] => 2013-01-26 
        [test_pack_desc] => This Package contains 24 tests of Reasoning, English and Quantitative Aptitude + 2 Mega tests of all 3 subjects. 

Total Tests in this Package : 26 
       ) 

      [5] => Array 
       (
        [user_pack_id] => 201 
        [user_id] => 5291d6ee6c5b577514e832f077a496ca 
        [pack_id] => 5810758e0ee945090506e02c35222f0e 
        [pack_name] => Bank Quantitative Aptitude 
        [pack_price_discounted] => 149.00 
        [pack_discount] => 0.00 
        [pack_price] => 149.00 
        [pack_type] => test 
        [pack_expiry_date] => 22nd January 2013 
        [transaction_no] => HhmfwX4q7yvx5nd 
        [pack_assign_type] => online_purchase 
        [pack_assign_date] => 0 
        [transaction_id] => 96 
        [transaction_cc_avenue_no] => CCA12JCTL532 
        [transaction_card_category] => NETBANKING 
        [transaction_user_id] => 5291d6ee6c5b577514e832f077a496ca 
        [transaction_user_name] => Amol Joshi 
        [transaction_user_email_id] => [email protected] 
        [transaction_deal_code] => 
        [transaction_dc_id] => 0 
        [transaction_amount] => 149.00 
        [transaction_discount] => 0.00 
        [transaction_total_amount] => 149.00 
        [transaction_data_assign] => 1 
        [transaction_status] => success 
        [transaction_date] => 1350890908 
        [transaction_update_date] => 0 
        [transaction_update_user_id] => 
        [pack_expiry_date1] => 2013-01-22 
        [test_pack_desc] => This package contains 8 tests on Bank Quantitative Aptitude. 
       ) 

     ) 

) 

現在我想火從內array.The演示SQL查詢各[pack_id]一個SQL查詢一個單一[pack_id]值被賦予如下:

SELECT package_type.package_type_name 
FROM package_type 
JOIN test_packages ON package_type.package_type_id = test_packages.test_pack_type_id 
WHERE test_packages.test_pack_id = '21e86b3ebf6a8af2a9fcf136c4f8e88a' 

該查詢返回我想要的結果(即package_name)。 實際上,我想從上面的數組中爲每個[pack_id]值引發此查詢,並以key =>值格式生成關聯數組,如[pack_id] => 'package_type_name' 我應該如何實現這一目標?任何人都可以幫我解決這個問題嗎?提前致謝。

回答

1

你可以嘗試這樣的事情嗎?

$arrResult = array(); 

foreach($user_study_test_packages['test'] as $innerArray) 
{ 
    $sql = 'SELECT... WHERE test_packages.test_pack_id = ' . $innerArray['pack_id']; 

    $queryResult = // call you query 

    $arrResult[$innerArray['pack_id']] = $queryResult['package_type_name']; 
} 
+1

非常感謝您再次。按照我的要求,Yor魔術對我來說確實很合適。你節省了我寶貴的時間。再次感謝。我也接受並贊成你的回答。 – PHPLover