2012-10-17 66 views
1
$region_array = array( 

           1 => 'Region 01', 
           2 => 'Region 02', 
           3 => 'Region 03' 
     ); 

我想要是数组操作 - PHP

array_slice($region_array, $index); & array_splice($region_array, $index);都没有给我所需的输出。

所需的输出是

  1. 如果通2作为索引只有第一二元应留。如果我传递3个三分要留下。我该怎么做?

  2. 然后,无论输出数组是什么,我想添加0 =>'Select Region'作为输出数组的第一个选项。我试过array_push。它将该元素添加到数组的末尾。我该如何解决它?

+0

[php获取数组的前N个元素?](http://stackoverflow.com/questions/3720096/php-get-the-first-n-elements-of-an-array) – Eric

回答

1
$array = array_slice($region_array, 0, $index) 
array_unshift($array, 'Select Region'); 

读取文档array_slicearray_unshift

+1

你不需要使用'array('0'=>'Select Region')',实际上,我认为这会将数组推到前面并使其成为二维。只需要'array_unshift($ array,'选择区域');' – Jon

+0

感谢您的更正,代码更新 –

3
`<?php 
    $region_array = array( 
     1 => 'Region 01', 
     2 => 'Region 02', 
     3 => 'Region 03' 
    ); 
    $array = array_slice($region_array, 0, 2); 
    array_unshift($array, 'Select Region'); 
    echo '<pre>'; 
    print_r($array); 
?>` 
1

由于你的数组索引是g reater大于零,您可以使用此一班轮以及:

$result = array('Select region') + array_slice($region_array, 0, $index, true); 

+操作符对数组并连接第二阵列(仅其主要不与首先与该项目)。