2012-10-17 107 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); 

+操作符對數組並連接第二陣列(僅其主要不與首先與該項目)。