为了账号安全,请及时绑定邮箱和手机立即绑定

如何在mysql数据库中记录该值?

如何在mysql数据库中记录该值?

PHP
料青山看我应如是 2021-04-26 16:13:00
我有一个看起来像这样的数据"discountPrices": [    {      "startQuantity": 3,      "price": 65.0    },    {      "startQuantity": 8,      "price": 62.0    },   {      "startQuantity": 20,      "price": 60.0    },  ]如您所知,这是产品的折扣价。我正在尝试在这里实现两件事。1.)我想创建一个名为Discountprice的表,该表将包含列,即price | 最小数量| 最大数量。使用上面的数据,第一行将是65.00 |。3 | 7,第二行将是62.00 | 8 | 19和第三行将是60 | 20 | 1000.我首先遇到的问题是我不知道如何获得最大数量,因为数据不包含最大数量。它仅声明startQuantity。如何获得每一行的最大量并进行记录?2.)如何在页面上输出。例如,使用数据,我可以做类似3> = 7 = $ 65.00,8> = 19 = $ 62.00,20> = 1000 = $ 60.00的操作我认为最困难的部分是如何知道最大数量,因为未指定最大数量。请我怎样才能达到这个结果。
查看完整描述

2 回答

?
侃侃无极

TA贡献2051条经验 获得超10个赞

您可以使用以下代码snnipt获取最大数量


$json = '[  

 {  

  "startQuantity":3,

  "price":65.0

 },

 {  

  "startQuantity":8,

  "price":62.0

 },

 {  

  "startQuantity":20,

  "price":60.0

 }

]';


$jsonToArray = json_decode($json, true);

$startQuantity = array_column($jsonToArray, 'startQuantity');

array_walk($jsonToArray, function($v, $k) use (&$jsonToArray, $startQuantity) {

    $index = array_search($v['startQuantity'], $startQuantity);

    if(array_key_exists($index+1, $startQuantity))

         $jsonToArray[$k]['endQuantity']  = $startQuantity[$index+1]-1;

});

print_r($jsonToArray);

结果


Array

(

[0] => Array

    (

        [startQuantity] => 3

        [price] => 65

        [endQuantity] => 7

    )


[1] => Array

    (

        [startQuantity] => 8

        [price] => 62

        [endQuantity] => 19

    )


[2] => Array

    (

        [startQuantity] => 20

        [price] => 60

    )


)


查看完整回答
反对 回复 2021-05-07
  • 2 回答
  • 0 关注
  • 132 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信