Php 如何根据数组或json的值更改它们?
我有一个json,我改为数组Php 如何根据数组或json的值更改它们?,php,arrays,json,Php,Arrays,Json,我有一个json,我改为数组 $asm1n = json_decode($asm_1); print_r ($asm1n); 结果是 数组([0]=>2[1]=>3) 我的问题是如何更改基于静态值的it值: 如果是,1换成橙色,2换成苹果,3换成芒果 当前,json中的值如下所示: ["2","3"] 我想知道的是,如果上面的值自动更改为: ["apple","mango"] 我尝试使用下面的代码,但我认为这是错误的: if ($asm1n == ["1","2","3"]){ $
$asm1n = json_decode($asm_1);
print_r ($asm1n);
结果是
数组([0]=>2[1]=>3)
我的问题是如何更改基于静态值的it值:
如果是,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条件?您可以在数组中循环并相应地更改它
$fruits=[
1=>“橙色”,
2=>“苹果”,
3=>“芒果”
];
foreach($asm1n as和$value){
foreach($key=>$fruit的水果){
如果($value==$key){
$value=水果;
}
}
}
试试这个:
$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);
请阅读-事实上,忘记添加&您也不需要内部循环。您可以完全删除内部的
foreach
,只需将其替换为:$value=$fruits[$value]??'无效id'代码>