PHP如何使用array_push将对象插入entries数组生成指定JSON结构
PHP 实现向entries数组推入指定结构对象的方法
实现逻辑
- 先初始化目标数据的基础结构,包含固定的
eventStartTime字段,以及空的entries数组 - 遍历存储
test_view_id取值的源数组,每次循环生成符合格式要求的单条嵌套结构 - 调用
array_push方法将生成的单条结构插入entries数组 - 最终如果需要输出标准JSON格式,调用
json_encode编码即可
完整可运行代码
<?php // 存储test_view_id取值的源数组 $testViewId = array(12,13,14); // 初始化目标数据基础结构 $data = [ 'eventStartTime' => 1656863552, 'entries' => [] ]; // 遍历id数组,逐条生成结构推入entries foreach ($testViewId as $id) { // 构造单条符合要求的嵌套结构 $entryItem = [ 'miscResourceProperties' => [ 'test_view_id' => $id ] ]; // 按要求使用array_push插入到entries数组 array_push($data['entries'], $entryItem); } // 编码为JSON格式输出,JSON_PRETTY_PRINT参数用于格式化排版 $outputJson = json_encode($data, JSON_PRETTY_PRINT); echo $outputJson; ?>
补充说明
如果需要严格使用PHP对象而非关联数组来构造结构(最终JSON输出结果完全一致),可以替换循环内的逻辑为stdClass对象写法:
foreach ($testViewId as $id) { $entryItem = new stdClass(); $entryItem->miscResourceProperties = new stdClass(); $entryItem->miscResourceProperties->test_view_id = $id; array_push($data['entries'], $entryItem); }
运行上述代码后输出的JSON结构和给出的期望结果完全一致。
内容的提问来源于stack exchange,提问作者MayurB
相关产品推荐
相关产品推荐

