例如,我有 9 个键的数组:
<?php
$array = array(3,1,4,5,7,34,32,12,13);
print_r($array);
我想从此数组中获取数据或删除其他值。
例如:
$first = 2;
$last = 5;
这应该返回我:
$new_array = array(1,4,5,7);
最好的方法是什么?
例如,我有 9 个键的数组:
<?php
$array = array(3,1,4,5,7,34,32,12,13);
print_r($array);
我想从此数组中获取数据或删除其他值。
例如:
$first = 2;
$last = 5;
这应该返回我:
$new_array = array(1,4,5,7);
最好的方法是什么?
您可以为此使用该功能array_slice
:
$sub_array = array_slice($array, $first - 1, count($array) - $last);
听起来您想要使用的是array_slice()函数:
<?php
$input = array("a", "b", "c", "d", "e");
$output = array_slice($input, 2); // returns "c", "d", and "e"
$output = array_slice($input, -2, 1); // returns "d"
$output = array_slice($input, 0, 3); // returns "a", "b", and "c"
// note the differences in the array keys
print_r(array_slice($input, 2, -1));
print_r(array_slice($input, 2, -1, true));
?>
对于您的问题:
<?php
$array = array(3,1,4,5,7,34,32,12,13);
$first = 2;
$last = 5;
$new_array = array_slice($array, $first - 1, $last - 1);
print_r($new_array);
// Array ( [0] => 1 [1] => 4 [2] => 5 [3] => 7 )
?>
尝试array_splice:
$array = array(3,1,4,5,7,34,32,12,13);
$first = 2;
$end = 5;
$length = ($end - $first);
$new_array = array_splice($array, $first, $end)