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

如何根据它们的值更改数组或 json?

如何根据它们的值更改数组或 json?

PHP
慕婉清6462132 2021-11-13 17:20:25
我有一个 json,我改为数组。$asm1n = json_decode($asm_1);print_r ($asm1n);结果是数组 ( [0] => 2 [1] => 3 )我的问题是如何更改基于静态值的值:如果是,则 1 更改为橙色,2 更改为苹果,3 自动更改为芒果目前 json 中的值是这样的:["2","3"]我想知道如果上面的值自动更改为:["apple","mango"]我尝试使用下面的代码,但我的事情错了:if ($asm1n == ["1","2","3"]){    $asm1n = "["orange","apple","mango"]";}这所有数据都来自数据库,它可能有这样的值 ["2","3"] , ["1","2","3"], ["1","3"]。如何将数字更改为我之前所说的值?自动还是通过 if 条件?
查看完整描述

3 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

尝试这个:


$asm1n = ["2", "3"];


$data = array();

foreach( $asm1n as $key => $value ) {

  if ( "1" === $value ) {

    $data[] = "orange";

  } elseif ( "2" === $value ) {

    $data[] = "apple";

  } elseif ( "3" === $value ) {

    $data[] = "mango";

  }

}


print_r($data);


查看完整回答
反对 回复 2021-11-13
?
千巷猫影

TA贡献1829条经验 获得超7个赞

您只需要确保您拥有这些值并使用它们来获取您的输出


$myValues = [

    1 => "orange",

    2 => "apple",

    3 => "mango"

];


$rawValues = json_decode($asm_1);


$asm1n = [];


foreach ($rawValues as $value) {

    $asm1n[]=$myValues[$value];

}


print_r ($asm1n);


查看完整回答
反对 回复 2021-11-13
?
九州编程

TA贡献1785条经验 获得超4个赞

您可以遍历数组并相应地更改它。


$fruits = [

    1 => 'orange',

    2 => 'apple',

    3 => 'mango'

];


foreach($asm1n as &$value){

    foreach($fruits as $key => $fruit){

        if($value==$key){

            $value = fruit;

        }

    }

}


查看完整回答
反对 回复 2021-11-13
  • 3 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号