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



我想存储以下$cart_item数组中的值:

[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] =>
    )
)

我已经意识到我不能根据索引抓取值,因为这个数组有时会有更多的子数组。例如,我不能使用下面的字符串来存储数据:

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

因为有人可能会在数组中添加名称"Church Information - City",这将取数组索引[2],这将使$shirt_size变量取"Church Information - City"值。我不希望那样的事发生。

只有2个其他可能的数组将被包含。我想存储与一个名称相关的所有可能的值。

有人能帮我一下吗?

如果你想要变量中的每一个值,你可以使用value of 'name' key来存储value' key的值。

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

如果你只想要衬衫的尺寸,那么你可以应用一个条件并得到你的值。

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

相关内容

  • 没有找到相关文章

最新更新