首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在PHP中访问特定的键->值对并从关联数组中排除特定的键->值对?

如何在PHP中访问特定的键->值对并从关联数组中排除特定的键->值对?
EN

Stack Overflow用户
提问于 2013-07-10 18:06:09
回答 4查看 139关注 0票数 0

我有一个名为$_SESSION[BASE_SESSION_NAME]['my_cart']的关联数组。作为参考,我按如下方式打印数组:

代码语言:javascript
复制
Array
(
    [6f993b72511c37f4ab4d7273066b8160] => Array
        (
            [pack_id] => 6f993b72511c37f4ab4d7273066b8160
            [pack_type] => test
            [pack_type_id] => 4
            [pack_name] => NEET XII Biology
            [pack_price] => 459.00
            [pack_validity] => Array
                (
                    [years] => 1
                    [months] => 0
                    [days] => 0
                )

        )

    [cart_summary] => Array
        (
            [total_no_packages] => 3
            [total_pack_price] => 1557
            [final_total_pack_price] => 1557
            [total_pack_discount] => 0
            [apply_deal_code] => 0
            [no_of_discounted_packages] => 0
        )

    [67f76ffae26ffdcde7a392c5534c972a] => Array
        (
            [pack_id] => 67f76ffae26ffdcde7a392c5534c972a
            [pack_type] => test
            [pack_type_id] => 4
            [pack_name] => NEET XII Chemistry
            [pack_price] => 599.00
            [pack_validity] => Array
                (
                    [years] => 1
                    [months] => 0
                    [days] => 0
                )

        )

    [31dc7c5d9b9cb5a2ba968e74efd4a475] => Array
        (
            [pack_id] => 31dc7c5d9b9cb5a2ba968e74efd4a475
            [pack_type] => test
            [pack_type_id] => 4
            [pack_name] => NEET XII Physics
            [pack_price] => 499.00
            [pack_validity] => Array
                (
                    [years] => 1
                    [months] => 0
                    [days] => 0
                )

        )

)

现在,我只想访问具有pack_id值或值为ok的键pack_id。例如,值31dc7c5d9b9cb5a2ba68e74efd4a475或来自i.e.for pack_id的值[pack_id] => 31dc7c5d9b9cb5a2ba968e74efd4a475。但问题是,还有一个数组具有键[cart_summary],我不想使用该数组中的任何内容。我必须在每一个这样的pack_id上触发一个查询。所以我想在循环的帮助下触发一个查询。有人能帮我解决这个问题吗?提前谢谢。我想使用的查询如下:

代码语言:javascript
复制
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 = '$propsed_pack_id'
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-07-10 18:48:37

下面是您在注释中请求的关联数组的foreach

代码语言:javascript
复制
$mycart = $_SESSION[BASE_SESSION_NAME]['my_cart'];// where $mycart is the array structure
                                                  //as shown above in the question
foreach($mycart as $key=>$value)
{
     //where $key holds the pack_id i.e. the array key value
     $propsed_pack_id = $value['pack_id'];
     if($key != "cart_summary")
     {
         //execute you sql query
         $query = "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 = '$propsed_pack_id'";
         ......

     }
 }

我希望这能对你有所帮助。

票数 5
EN

Stack Overflow用户

发布于 2013-07-10 18:32:46

unset($arr["item"])从名为$arr的数组中删除键为" item“的项。

票数 1
EN

Stack Overflow用户

发布于 2013-07-10 18:56:33

一种方法是您可以直接检查'cart-summary‘,正如saran banerjee所说的那样。

但是我建议,你可以在数组中检查'pack_id‘键,而不是硬编码检查'cart-summary’。如果存在,则对该pack_id执行查询,否则不执行。

代码语言:javascript
复制
$mycart = $_SESSION[BASE_SESSION_NAME]['my_cart']; 

foreach($mycart as $key=>$value)
{
     //where $key holds the pack_id 
     $propsed_pack_id = isset($value['pack_id']) ? $value['pack_id'] : '';
     if($propsed_pack_id != "")
     {
         //execute you sql query
         $query = "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 = '$propsed_pack_id'";

     }
 }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17567848

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档