Remove “columns” from the subarrays of a two dimensional array

后端 未结 4 1736
盖世英雄少女心
盖世英雄少女心 2021-01-12 08:03

I have a simple, two dimensional array like this:

Array
    (
        [0] => Array
            (
                [0] => abc
                [1] => 1         


        
相关标签:
4条回答
  • 2021-01-12 08:36

    Anything wrong with just looping through it?

    for ( $i = 0; $i < sizeof($input); $i++ ) {
        for ( $j = 0; $j < $n; $j++ ) {
            $output[$i][$j] = $input[$i][$j];
        }
    }
    return $output;
    
    0 讨论(0)
  • 2021-01-12 08:41

    Even with array_walk :

    array_walk(
        $aYourArray,
        function(&$aSubRow){
            $aSubRow = array_slice($aSubRow, 0, 2);
        }
    );
    
    0 讨论(0)
  • 2021-01-12 08:44
    const MAX = 2; // maximum number of elements
    foreach ($array as &$element) {
        $element = array_slice($element, 0, MAX);
    }
    
    0 讨论(0)
  • 2021-01-12 08:53
    foreach($array as $key=> $element)
    {
        for($i=0; $i<$n; $i++)
        {
            $newArray[$key][$i] = $element[$i];
        }
    }
    

    Not sure if there is a more efficient method.

    0 讨论(0)
提交回复
热议问题