从具有子数组的多维数组中删除最后两个元素

RR

我有下面的多维数组,我想从中删除子数组中的最后两个元素(可能有任意数量的子数组)。

    $data=  Array
(
    [0] => Array
        (
            [rowdata] => Array
                (
                    [0] => Array
                        (
                            [DOELGROEP] => 2
                            [KANTOOR] => 2
                            [OBLIGOCATEGORIE] => 3
                            [] => Overall NPS
                            [0] => Array
                                (
                                    [1] => npsorg
                                    [3] => npsdetbe
                                )
                        )

                    [1] => Array
                        (
                            [DOELGROEP] => 2
                            [KANTOOR] => 2
                            [OBLIGOCATEGORIE] => 3
                            [] => Overall NPS
                            [0] => Array
                                (
                                    [1] => npsorg
                                    [3] => npsdetbe
                                )

                        )

                )

            [reason] => column values are not correct
        )

)

所需的输出:

$data=  Array
(
    [0] => Array
        (
            [rowdata] => Array
                (
                    [0] => Array
                        (
                            [DOELGROEP] => 2
                            [KANTOOR] => 2
                            [OBLIGOCATEGORIE] => 3

                        )

                    [1] => Array
                        (
                            [DOELGROEP] => 2
                            [KANTOOR] => 2
                            [OBLIGOCATEGORIE] => 3


                        )

                )

            [reason] => column values are not correct
        )

)

我尝试过的

unset ($data[count($data)-2]);

上面的代码不起作用,即它没有删除最后两个元素。我在做什么错?

提前致谢

豪尔赫·法安卡(Jorge Faianca)

您的代码无法正常工作,unset ($data[count($data)-2]);因为count($data)-2 = -1数组$ data没有键-1,即$ data [-1]。您需要遵循数组示例$ data [0] ['rowdata'] [0] ['ab']。

如果您确定将始终具有该数组“设计”,则可以使用它。

   <?php
         $data = Array(
            0 => Array(
                'rowdata' => Array(
                    0 => Array
                        (
                            'DOELGROEP' => 2,
                            'KANTOOR' => 2,
                            'OBLIGOCATEGORIE' => 3,
                            0 => Array
                                (
                                    1 => 'npsorg',
                                    3 => 'npsdetbe'
                                )
                        ),
                    1 => Array
                        (
                            'DOELGROEP' => 2,
                            'KANTOOR' => 2,
                            'OBLIGOCATEGORIE' => 3,
                            0 => Array
                                (
                                    1 => 'npsorg',
                                    3 => 'npsdetbe'
                                )

                        )

                ),       
                    'reason' => 'column values are not correct'
                )
            );

 echo '<pre>';
echo '<h1>before</h1>';
        print_r($data);


    foreach($data[0]['rowdata'] as $k => $v){
       unset($data[0]['rowdata'][$k][0]);
    }

       echo '<h1>After</h1>';
        print_r($data);

         //unset($data[0]['rowdata'][0][0]);   
        // unset($data[0]['rowdata'][1][0]);   

更新:您可以,

unset($data[0]['rowdata'][0][0]);
unset($data[0]['rowdata'][1][0]);

或者

 foreach($data[0]['rowdata'] as $k => $v){
   unset($data[0]['rowdata'][$k][0]);
}

更新的示例:example

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

从多维数组的每个索引中删除最后2个元素

从两个numpy数组中删除重复的元素

使用两个匹配的子值从关联数组中删除元素

比较两个不同大小的一维数组中的元素,并具有公差

两个100X100多维数组的随机样本,具有相同的行号。在python numpy中

如何从数组或列表中删除两个元素的序列?

如何从JS中的两个多维数组返回两个元素

从两个值之间的多维数组中获取数组

如何对两个多维数组的元素求和?

如何平均两个具有相同元素的数组?

从两个Numpy数组中删除匹配元素

如何比较两个具有不同属性名称的不同数组,并删除JavaScript中不匹配的数组?

比较两个具有对象的数组,并从第一个数组中删除重复项

如何从具有两个条件的数组中查询元素(MongoDB)

PHP将两个多维数组的元素求和

C ++:我有两个数组,其中第一个元素和最后一个元素具有相同的内存地址

PHP:合并和排序两个具有相同值的多维数组

如何获得具有不同键但在php中具有相同值的两个多维数组的差异?

更改多维数组中的一个元素会更改所有具有值的元素

PHP Array_Push具有两个多维数组,但保持布局

Foreach中的两个多维数组

PHP:从关联数组中删除除最后两个元素以外的所有元素

给定两个具有相同大小的数组,请从这两个数组中找出两个以绝对值最小的总和组成的元素

在两个PHP数组中获取具有相同键但值不同的元素

从具有两个元素的数组中获取与匹配元素不匹配的值

在删除重复项时合并两个多维数组,依赖于它们的特定元素

如何从两个嵌套列表的数组中删除 n 个元素而不丢失数组?

获取多维数组PHP中两个元素之间的所有数组

Javascript函数根据两个条件/两个属性从数组中删除特定元素