PHP在某个键值之前删除数组的部分

时间:2011-02-08 10:55:18

标签: php arrays

我有一个按特定顺序排列的数组,我想切断从第一个索引到给定键索引的数组部分。

... IE 如果我有这个阵列

$array = array("0" => 'blue', "1" => 'red', "2" => 'green', "3" => 'red', "4"=>"purple");

我希望在看到键“2”(作为字符串)之前切断数组的第一部分。 所以结束数组就像......

  

“2”=> “绿色”
  “3”=> “红色”
  “4”=> '紫'

谢谢, 伊恩

3 个答案:

答案 0 :(得分:7)

对于您的情况,您可以使用

print_r(array_slice($array, 2, count($array),true));

编辑:编辑问题

$cloneArray = $array;
foreach($array as $key => $value){
  if($key == $givenInex)
     break;

  unset($cloneArray[$key]);
} 

然后使用$ cloneArray

答案 1 :(得分:0)

$newarray = array_slice($array,2,-1,true);

答案 2 :(得分:0)

是的,你必须在php中使用array_slice()函数来解决问题..............

示例代码如下,

`
$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));

`

上面的代码给出了以下输出,

<强>阵 (     [0] =&gt; C     [1] =&gt; d ) 排列 (     [2] =&gt; C     [3] =&gt; d )