You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何将关联数组转换为由stdClass对象组成的索引数组

PHP 关联数组转目标结构实现方案

你之前的写法将所有职位键和数值分别存为两个独立的子数组,和要求的「每组职位与对应数值封装为独立stdClass对象」的结构完全不匹配,所以达不到预期效果。可参考以下两种实现方式:

方法1:foreach 循环实现(可读性最高,推荐在CodeIgniter 3中使用)

// 假设你的原关联数组变量为 $counts
$jabatans = [];
foreach ($counts as $jabatan => $total) {
    $item = new stdClass();
    $item->jabatan = $jabatan;
    $item->total = $total;
    $jabatans[] = $item;
}

方法2:array_map 短写法(代码更简洁)

$jabatans = array_map(function ($jabatan, $total) {
    $item = new stdClass();
    $item->jabatan = $jabatan;
    $item->total = $total;
    return $item;
}, array_keys($counts), array_values($counts));

处理完成后得到的$jabatans就是你需要的索引数组结构,直接传递给CodeIgniter的视图层即可适配CanvasJs的数据源要求。如果CanvasJs需要默认的label、y字段,只需要把上述代码中的jabatan改为label、total改为y即可直接使用,无需额外转换。


内容的提问来源于stack exchange,提问作者Reza Aprillia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:45:06