我有一个数组,我想从当前指定的索引中删除先前的所有元素
例如:
$array = [0 => "a", 1 => "b", 2 => "c", 3=>"d", 4=>"e"];
Run Code Online (Sandbox Code Playgroud)
我有一个类似的索引3,所以我想删除以前的所有类似
0 => "a", 1 => "b", 2 => "c"
Run Code Online (Sandbox Code Playgroud)
而且只有
3=>"d", 4=>"e"
Run Code Online (Sandbox Code Playgroud)
在我的新阵列中。谁能帮我?
小智 6
$array = [0 => "a", 1 => "b", 2 => "c", 3=>"d", 4=>"e"];
$output = array_slice($array, 3);
Run Code Online (Sandbox Code Playgroud)
输出:
array(2) {
[0]=> string(1) "d"
[1]=> string(1) "e"
}
Run Code Online (Sandbox Code Playgroud)
另一种节省索引的解决方案
$array = [0 => "a", 1 => "b", 2 => "c", 3=>"d", 4=>"e"];
$output = array_slice($array, 3, null, true);
Run Code Online (Sandbox Code Playgroud)
输出:
array(2) {
[3]=> string(1) "d"
[4]=> string(1) "e"
}
Run Code Online (Sandbox Code Playgroud)
https://www.php.net/manual/zh/function.array-slice.php
您可以使用array_slice()
例如:
<?php
$array = [0 => "a", 1 => "b", 2 => "c", 3=>"d", 4=>"e"];
$startingPosition = 3;
// Preserve keys
// |
// Your array Delete from Delete to |
// | | (if null, |
// | | to the end) |
// | | | |
// v v v v
$array = array_slice($array, $startingPosition , null, true);
var_dump($array);
Run Code Online (Sandbox Code Playgroud)
输出:
array(2) {
[3]=>
string(1) "d"
[4]=>
string(1) "e"
}
Run Code Online (Sandbox Code Playgroud)