【问题标题】:How to remove the arrays given in the arrows如何删除箭头中给出的数组
【发布时间】:2018-11-08 23:58:57
【问题描述】:
$session_activity_category = array();

    foreach($search_venue as $venue_b)  {
    $session_activity_category[] =  $this->users_model->search_categories_by_session($venue_b->activity_venue_id);
}


 return $this->output
    ->set_content_type('application/json')
    ->set_status_header(200)
    ->set_output(json_encode(array('activity_category'=>$session_activity_category,'activity'=>$session_activity,'activity_session'=>$search_session,'activity_venue'=>$search_venue),JSON_UNESCAPED_SLASHES)  
    );

我想删除箭头线中给出的数组

【问题讨论】:

  • 你想只删除第一个元素吗?
  • 删除箭头中给出的数组?那是什么意思?请详细说明,你的意思是它给你不需要的数组尺寸?或者也许你只是想合并它们,在每次迭代中添加(或推送)新批次
  • 请不要将 JSON(或代码)添加为图像

标签: php json codeigniter


【解决方案1】:

似乎$this->users_model->search_categories_by_session($venue_b->activity_venue_id) 返回对象数组。您应该在每次 search_categories_by_session 函数调用迭代时将此对象解析为 $session_activity_category 数组。

    $session_activity_category = array();

    array_walk($search_venue, function($venue_b) use (&$session_activity_category) {
        $categories = $this->users_model->search_categories_by_session($venue_b->activity_venue_id);

        foreach ($categories as $category) {
            $session_activity_category[] = $category;
        }
    });

【讨论】:

    【解决方案2】:

    将 JSON 转换为数组。然后只需创建一个具有相同关键活动类别的新数组(在我的示例中):

    <?php
    
    $json = '
    {"something": [[
            {
                "blah": "blah"
            },
            {
                "blah": "blah"
            }
        ]]}
    ';
    
    $array = json_decode($json, true);
    
    $array = [
        "something" => $array['something'][0],
    ];
    
    echo json_encode($array);
    

    将输出:

    {"something":[{"blah":"blah"},{"blah":"blah"}]}
    

    【讨论】:

      猜你喜欢
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多