3 回答

TA贡献1853条经验 获得超9个赞
您可以使用数组映射来回显相同的内容,
foreach ($obj->Machines as $comp) {
echo implode(', ', array_map(function ($val, $key) {
return sprintf("%s:'%s'", $key, $val);
}, $comp, array_keys($comp)))."<br/>";
}
解决方案2: -
foreach ($obj->Machines as $comp) {
echo str_replace('=',':',http_build_query($comp,'',', '));
}
http_build_query — 生成 URL 编码的查询字符串

TA贡献1860条经验 获得超9个赞
使用 . 将您的 JSON 数据转换为数组json_decode()。使用array_map()对数组进行迭代,再次使用array_walk()进行另一个嵌套迭代以将值替换为key:value梨格式。最后通过逗号的胶水将转换后的数组连接到字符串。
代码示例:
$response = json_decode($response, true);
$result = array_map(function ($val) {
array_walk($val, function (&$v, $k) { $v = "$v: $k"; });
return implode(',', $val);
}, $response);
print_r($result);

TA贡献1725条经验 获得超7个赞
您所做的是正确的,尽管这是一个多维数组。
您需要几个 foreach 循环来迭代到您想要的维度。
$response = [];
foreach($obj->Machines as $comp) {
foreach($comp as $key => $value) {
$response[$key] = '';
foreach($value as $title => $display) {
$response[$key] .= $title . ': ' . $display . ', ';
}
$response[$key] = rtrim($response[$key], ', ');
}
}
var_dump($response);
- 3 回答
- 0 关注
- 159 浏览
添加回答
举报