php中的映射动态变量
如何从RESTAPI调用为元素赋值 假设我在api调用中有一个php中的映射动态变量,php,rest,Php,Rest,如何从RESTAPI调用为元素赋值 假设我在api调用中有一个4的结果echo$resultArray[0]['number'][0]['value']。然后我想给这个结果分配相应的值,所以每当我发出下一个调用时,我应该得到House作为结果 Assigning string values: 4 = House 5 = Bedroom 更新: [{"number":[{"value":4}],"uuid":[{"value":"123-123-123-123-123"}],"v
4
的结果echo$resultArray[0]['number'][0]['value']代码>。然后我想给这个结果分配相应的值,所以每当我发出下一个调用时,我应该得到House
作为结果
Assigning string values:
4 = House
5 = Bedroom
更新:
[{"number":[{"value":4}],"uuid":[{"value":"123-123-123-123-123"}],"vid":[{"value":123}],"langcode":[{"value":"en"}],"type":[{"target_id":"test","target_type":"test_type","target_uuid":"456-456-456-456-456"}],"revision_timestamp":[{"value":123345678}],"revision_uid":[{"target_id":1,"target_type":"user","target_uuid":"321-321-321-321-321","url":"\/user\/1\/stream"}],"revision_log":[],"status":[{"value":false}],"title":[{"value":"John Test Patch"}]}]
维护一个关联数组以存储sting和value。
匹配关联数组中的结果以显示所需的值
$mapArray = array('4'=>'home','5'=>'office');
$response_decoded=json_decode($response,true); //$response is json from api call.
if(isset($mapArray[$response_decoded['number']['0']['value']])
{
$response_decoded['number']['0']['value']=$mapArray[$response_decoded['number']['0']['value']];
}
else
{
echo "value not present in array";
}
假设您已经将$resultArray解码为api的响应,要使用php保存它,请尝试以下方法:
if(!empty($resultArray)){
foreach($resultArray as $key => $object){
if($object->number[0]->value ==4){
$object->number[0]->value= "house";
}
else if($object->number[0]->value ==5){
$object->number[0]->value= "Bedroom";
}
// if you have another use case add them after here
/* else if(){
}
.
.
else(){
}
*/
}
}
这对你来说应该很有用:)你能解释更多吗?你试过这个吗:$resultaray[0]['number'][0]['value']=4;你在找这个吗?或者做一个测试,比如:($resultArray[0]['number'][0]['value']==“house”){$resultArray[0]['number'][0]['value']]=4;}可能我理解你在找什么,所以让我们假设你有一个从api返回的对象列表,如果某些条件是真的,你想分配一些值。。。如果我是对的,你能给我看看$resultArray结果吗。然后我可以拿着这个治疗在描述中打印你的$resultArray,然后我给你解决方案。你能不能在你所指的内容中添加示例代码来更具体一些?
$var = $resultArray[0]['number'][0]['value'];
switch($var){
case 0:
$varString = "text";
break;
case 4:
$varString = "House";
break;
case default:
$varString = "not 0 or 4";
break;
}