Php 从2d数组中删除某些索引

Php 从2d数组中删除某些索引,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有这样一个数组: Array ( [0] => Array ( [0] => 1 [1] => Firstname one [2] => Lastname one ) [1] => Array ( [0] => 2 [1] => Firstname two

我有这样一个数组:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => Firstname one
            [2] => Lastname one
        )

    [1] => Array
        (
            [0] => 2
            [1] => Firstname two
            [2] => Lastname two
        )

    [2] => Array
        (
            [0] => 3
            [1] => Firstname three
            [2] => Lastname three
        )
)

现在,我想删除整个
索引1
,即数组中的所有firstname。我计划使用
array\u splice
,方法是在整个数组中循环并删除其索引1。但是有更好的办法吗。(我希望在删除元素后重新建立索引。)

您也可以使用
数组\u切片
函数,如

foreach($array as $k=>$v)
{
    array_splice($v, 1,1);
    $array[$k] = $v;
}
输出:

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => Lastname one
        )

    [1] => Array
        (
            [0] => 1
            [1] => Lastname two
        )

    [2] => Array
        (
            [0] => 1
            [1] => Lastname three
        )

)
你应该使用


如果你想重新索引它,我也会使用
array\u-splice()
。你的方法工作正常,但会发出
警告:array\u-splice()希望参数1是array,boolean-given
我会得到这种类型的警告,并且确保你将“$v”作为array\u-splice()中的第一个参数传递给array您通过
$k
索引进行迭代,但总是取消设置
$i
,它甚至不递增。这将不起作用。您可以使用$k而不是$i。仍然需要实现一些逻辑以获得所需的输出。
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => Lastname one
        )

    [1] => Array
        (
            [0] => 1
            [1] => Lastname two
        )

    [2] => Array
        (
            [0] => 1
            [1] => Lastname three
        )

)
foreach($array as $k=>$v)
{
    unset($array[$k][1]); /// Chnage the key of array which you want to remove
}
$input_array = [[1,'Firstname one','Lastname one'],
                [2,'Firstname two','Lastname two'],
                [3,'Firstname three','Lastname three']];

$resultArray = array_map(function($record) { 
  return [$record[0], $record[2]]; // add your desired records
}, $input_array);

echo '<pre>'; print_r($resultArray);
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => Lastname one
        )

    [1] => Array
        (
            [0] => 2
            [1] => Lastname two
        )

    [2] => Array
        (
            [0] => 3
            [1] => Lastname three
        )

)