首页 > 解决方案 > 获取具有相同索引标签的会话值并选择更大的 int 值

问题描述

我有一个名为的会话变量$_SESSION["shopping_cart"],它保存由网页上用户定义的选择形成的数组(意思是:产品、代码、价格、描述和活动月份数)。

该数组将看起来像"Array => Array1["xxx"]=> ['product'] = "xxx", ['detail'] = "xxxxx", ['price'] = "xxx", ['envios'] = "x", Array2 => ......并继续。现在,其中的一些数组将有一个索引['envios'] = "x",而其中一些则没有。此特定索引始终是 1-12 之间的 INT 值。我需要选择所有带有索引的值['envios'],然后将其中较大的值保存在一个单独的变量$corval中。
有没有办法做到这一点?

我发现了几个会话函数,session_search()或者session_value()当输入等于某个数组值时,它们都将返回索引的值。我需要反过来做。

长话短说,我需要获取['envios']会话数组中索引的所有值,并将其中较大的值保存到 php.ini 中的不同变量中。如果没有['envios']索引,则变量将等于 1。

这是实际的数组数据:

Array ( [BTWL001] => Array ( [name] => P�lulas Winky Lux [code] => BTWL001 [price] => 95.00 [quantity] => 1 [stock] => 8 [image] => /bubale/img/productimg/set5winki.jpg ) [PB001] => 
                     Array ( [name] => BOLSINHA UNICA [code] => PB001 [price] => 130.00 [quantity] => 1 [stock] => 9999 [image] => /bubale/img/1month.png [envios] => 1 ) [PB003] => 
                     Array ( [name] => PLANO TRIMESTRAL [code] => PB003 [price] => 300.00 [quantity] => 1 [stock] => 9999 [image] => /bubale/img/3month.png [envios] => 3 ) [PB012] => 
                     Array ( [name] => PLANO ANUAL [code] => PB012 [price] => 1080.00 [quantity] => 1 [stock] => 9999 [image] => /bubale/img/12month.png [envios] => 12 ) )

请注意,有 3 个带有索引标签 ['envios'] 的数组。该数组存储在会话中,因此我只需要获取那些“['envios']”值。

标签: php

解决方案


好吧,经过大量研究,我找到了解决这个问题的方法,所以对于那些正在寻找这样的东西的人,我们开始吧:

$col = $_SESSION['your session variable'];
$env = array_column($col, 'name of the index you need to extract');

// 这里 $env 将有一个新数组,其中仅包含由您查找的索引标识的值)//

$final = max($env); 

//你保存了数组的最大值//


推荐阅读