dongzhimin2231 2015-04-11 18:38
浏览 56
已采纳

PHP数组切片多维数组

I have an multidimensional array but need to make it smaller. This is an easy question I believe. I need to remove 1 array in jsonresult array, the first one but preserve the other in the next array. I have tried array_splice but it only keeps one.

Array
(
[searchword] => search word
[jsonresult] => Array
    (
        [0] => Array // THIS ONE, KEEP ITS CHILDREN MOVE UP
            (
                [0] => Array
                    (
                        [id] => 14889770
                    )
                   [1] => Array
                    (
                        [id] => 14389720
                    )
                   [2] => Array
                    (
                        [id] => 14869723
                    )
            )        

           [1] => Array // THIS ONE, KEEP ITS CHILDREN MOVE UP
            (
                [0] => Array
                    (
                        [id] => 14889722
                    )
                   [1] => Array
                    (
                        [id] => 14389711
                    )
                   [2] => Array
                    (
                        [id] => 14869329
                    )
            )           

   )
)

Would like to get:

Array
(
[searchword] => search word
[jsonresult] => Array
    (
       [0] => Array
        (
          [id] => 14889770
        )
                   [1] => Array
                    (
                        [id] => 14389720
                    )
                   [2] => Array
                    (
                        [id] => 14869723
                    )

                   [3] => Array
                    (
                        [id] => 14889722
                    )
                   [4] => Array
                    (
                        [id] => 14389711
                    )
                   [5] => Array
                    (
                        [id] => 14869329
                    )
    )           

)
  • 写回答

1条回答 默认 最新

  • dongzhong5967 2015-04-11 19:42
    关注

    Try this code. This may not be the correct method but it gives what you need. (As I understand from your question)

    //creating a sample array similar to one you given in question.
    $arr_test['searchword'] = 'search word';
    $arr_test['jsonresult'] = array(array(array('id'=>14889770),array('id'=>14889720)),array(array('id'=>14889780),array('id'=>14889790)));       
    //creating new array
    $arr_new = array();
    //formatting array as you needed it
    foreach($arr_test['jsonresult'] as $arr_jsonresult){
        foreach($arr_jsonresult as $jsonresult){        
            $arr_new['jsonresult'][] =  $jsonresult;        
         }
    }
    //overwriting the specific array key
    $arr_test['jsonresult'] = $arr_new['jsonresult'];
    //checking output
    echo '<pre>';
    print_r($arr_test);
    

    This code produces the following output

    Array
    (
    [searchword] => search word
    [jsonresult] => Array
        (
            [0] => Array
                (
                    [id] => 14889770
                )
    
            [1] => Array
                (
                    [id] => 14889720
                )
    
            [2] => Array
                (
                    [id] => 14889780
                )
    
            [3] => Array
                (
                    [id] => 14889790
                )
    
        )
    
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 PointNet++的onnx模型只能使用一次
  • ¥20 西南科技大学数字信号处理
  • ¥15 有两个非常“自以为是”烦人的问题急期待大家解决!
  • ¥30 STM32 INMP441无法读取数据
  • ¥15 R语言绘制密度图,一个密度曲线内fill不同颜色如何实现
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧,别用大模型回答,大模型的答案没啥用
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。