duankui6150 2014-06-26 19:58
浏览 10
已采纳

基于PHP多维数组中的键存储值

I would like to store values from the following $cart_item array:

[addons] => Array( 
    [0] => Array(
        [name] => First Name - First Name
        [value] => Gary
        [price] =>
    )
    [1] => Array(
        [name] => Church Information - Name
        [value] => Victory Bible Church
        [price] =>
    )
    [2] => Array(
        [name] => Shirt Size
        [value] => XL
        [price] =>
    )
)

I've realized that I can't grab the value based on the index because this array will sometimes have more sub arrays. For example, I can't use the following string to store data:

$shirt_size = $cart_item['addons'][2]['value'];

Because someone might add into the array the name "Church Information - City" and that will take the array index of [2], which will then make the $shirt_size variable take the 'Church Information - City' value. I don't want that happening.

There are only 2 other possible arrays that will be included. I want to store all possible values associated with a name.

Can someone help me with this?

  • 写回答

1条回答 默认 最新

  • dongyan1974 2014-06-27 06:33
    关注

    If you want each of the values in variables, you can use value of 'name' key to store value of 'value' key.

    foreach ($cart_item['addons'] as $key => $val) {
        $name = strtolower(str_replace(' ','_', $val['name']));
        $$name = $val['value'];
    }
    
    echo $shirt_size; //output as XL
    

    OR

    if you want only the shirt size, then you can apply a condition and get your value.

    foreach ($cart_item['addons'] as $key => $val) {
        if ($val['name'] == 'Shirt Size') {
            $shirt_size = $val['value'];
        }
    }
    
    echo $shirt_size; //output as XL
    

    Hope this will help you to grab the required values.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 表达式必须是可修改的左值
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题