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

我有一个 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 条件?


慕婉清6462132
浏览 156回答 3
3回答

慕沐林林

尝试这个:$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);

千巷猫影

您只需要确保您拥有这些值并使用它们来获取您的输出$myValues = [    1 => "orange",    2 => "apple",    3 => "mango"];$rawValues = json_decode($asm_1);$asm1n = [];foreach ($rawValues as $value) {    $asm1n[]=$myValues[$value];}print_r ($asm1n);

九州编程

您可以遍历数组并相应地更改它。$fruits = [    1 => 'orange',    2 => 'apple',    3 => 'mango'];foreach($asm1n as &$value){    foreach($fruits as $key => $fruit){        if($value==$key){            $value = fruit;        }    }}
打开App,查看更多内容
随时随地看视频慕课网APP