Php 如何切片阵列多维?

Php 如何切片阵列多维?,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我的输出数组如下所示: 我只想删除数组中除上面3个元素之外的所有元素,并且我不想重置索引。 我尝试使用数组切片,但仍然失败。 谢谢 我想得到这样的输出 **这是我的密码** $hasil_jarak=array(); for ($i=0; $i <count($fitur1_uji) ; $i++) { $temp=array(); for ($j=0; $j <count($fitur1_latih) ; $j++)

我的输出数组如下所示:

我只想删除数组中除上面3个元素之外的所有元素,并且我不想重置索引。 我尝试使用数组切片,但仍然失败。 谢谢

我想得到这样的输出

**这是我的密码**

$hasil_jarak=array();
        for ($i=0; $i <count($fitur1_uji) ; $i++) {
            $temp=array();
            for ($j=0; $j <count($fitur1_latih) ; $j++) { 
                $euclid=sqrt(
                    (pow($fitur1_uji[$i]-$fitur1_latih[$j],2))+
                    (pow($fitur2_uji[$i]-$fitur2_latih[$j],2))+
                    (pow($fitur3_uji[$i]-$fitur3_latih[$j],2))+
                    (pow($fitur4_uji[$i]-$fitur4_latih[$j],2))+
                    (pow($fitur5_uji[$i]-$fitur5_latih[$j],2))+
                    (pow($fitur6_uji[$i]-$fitur6_latih[$j],2)));
                    array_push($temp, $euclid);
            }
            array_push($hasil_jarak, $temp);
        }
        $hasil_jarak=array_map(function($v){asort($v); return $v;}, $hasil_jarak); 
        return $hasil_jarak;

要获取数组的前n个元素,请使用:


我们需要查看您的代码,数组列应该可以工作。你能给我举个例子吗@CharlotteDunois@u_mulder,这是我的代码:`$hasil_jarak=array;对于$i=0$我编辑你的问题,请你的代码的结果是重置数组@u_Mulder的索引数组_切片的第四个参数是preserve_键。是的,它可以帮助我解决我的问题。。谢谢..,我将尝试在我的代码中实现@乌穆德
Array
(
    [0] => Array
        (
            [3] => 0.24022657034509
            [0] => 0.31039543711844
            [2] => 0.6270142808618

        )

    [1] => Array
        (
            [1] => 0.056067176666841
            [0] => 0.57560961693454
            [3] => 0.72174392391777

        )
    )
$hasil_jarak=array();
        for ($i=0; $i <count($fitur1_uji) ; $i++) {
            $temp=array();
            for ($j=0; $j <count($fitur1_latih) ; $j++) { 
                $euclid=sqrt(
                    (pow($fitur1_uji[$i]-$fitur1_latih[$j],2))+
                    (pow($fitur2_uji[$i]-$fitur2_latih[$j],2))+
                    (pow($fitur3_uji[$i]-$fitur3_latih[$j],2))+
                    (pow($fitur4_uji[$i]-$fitur4_latih[$j],2))+
                    (pow($fitur5_uji[$i]-$fitur5_latih[$j],2))+
                    (pow($fitur6_uji[$i]-$fitur6_latih[$j],2)));
                    array_push($temp, $euclid);
            }
            array_push($hasil_jarak, $temp);
        }
        $hasil_jarak=array_map(function($v){asort($v); return $v;}, $hasil_jarak); 
        return $hasil_jarak;
$arr = [
    [
        3 => 1,
        0 => 2,
        4 => 4,
        1 => 5,
        2 => 8,
    ],
    [
        2 => 1,
        1 => 4,
        0 => 7,
        3 => 9,
        4 => 11,
    ],
];
$new_array = [];  // new array
foreach ($arr as $item) {
    $new_array[] = array_slice($item, 0, 3);   // 3 is a size of new subarray
    // or with preserving keys:
    $new_array[] = array_slice($item, 0, 3, true);   // 3 is a size of new subarray
}