Php 如何切片阵列多维?
我的输出数组如下所示: 我只想删除数组中除上面3个元素之外的所有元素,并且我不想重置索引。 我尝试使用数组切片,但仍然失败。 谢谢 我想得到这样的输出 **这是我的密码**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++)
$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
}