加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 从Array1中的特定行值中减去Array2中的行值

发布时间:2020-12-13 17:25:41 所属栏目:PHP教程 来源:网络整理
导读:我想从$array1的股票中减去$array2的数量. $array1 =([product_id] = 4,[个股] = 20) $array2 =([product_id] = 4,[数量] = 3) So that would be:$array1= ([0]= 4,[1] = 20);$array2= ([0]= 4,[1] = 3); 然后输出应该是: $array1= ([0]= 4,[1] = 17); 解决
我想从$array1的股票中减去$array2的数量.

$array1 =([product_id] => 4,[个股] => 20)

$array2 =([product_id] => 4,[数量] => 3)

So that would be:
$array1= ([0]=> 4,[1] => 20);
$array2= ([0]=> 4,[1] => 3);

然后输出应该是:

$array1= ([0]=> 4,[1] => 17);

解决方法

您的数组结构与多个记录看起来略有不同,代码以丑陋的方式运行.我假设你在谈论这样的事情:

$array1 = array(
    0=>array('product_id'=>4,'stocks'=>20),1=>array('product_id'=>5,'stocks'=>60));
$array2 = array(
    0=>array('product_id'=>4,'quantity'=>3)
    1=>array('product_id'=>5,'quantity'=>30));

…这是一个多维数组(通常用于从数据库中提取的记录).

foreach($array1 as $key=>$value){
    foreach($array2 as $key2=>$value2) {
        if($value['product_id']==$value2['product_id']){
            $value['stocks'] -= $value2['quantity'];
            //optimization to avoid searching this again.
            unset($array2[$key]);
        }
    }}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读