2017-05-17 32 views
-1

的價值發生的最後一個索引我在PHP創建數組如下:首先在PHP陣列

$arr = array(123,144,144,123);

如何獲得每個值出現的第一個和最後一個索引。
喜歡的東西,

123 -> first occurrence - 0th index | last occurrence - 3rd index 
144 -> first occurrence - 1st index | last occurrence - 2nd index 
+0

根據您的示例,「last - 3」和「last - 2」是什麼? –

+1

請詳細說明這個問題更多 – Naincy

+0

array_search獲取密鑰,未設置副本,然後另一個array_search? –

回答

0
$array = [1,2,2,3,1,2,3]; 

$result = []; 

for($i = 0; $i < sizeof($array); $i++){ 

    if(!in_array($array[$i],array_keys($result))){ 
     $result[$array[$i]] = ['first-occurance'=>$i,'last-occurance'=>$i]; 
    } 

    for($j = $i+1; $j < sizeof($array); $j++){ 

     if($array[$i] == $array[$j]){ 

      $result[$array[$i]]['last-occurance'] = $j; 
     } 
    } 
} 

var_dump($result); 

或使用array_search() 「學分Dan Miller

$result = []; 

for($i = 0; $i < sizeof($array); $i++){ 

    if(!in_array($array[$i],array_keys($result))){ 
     $result[$array[$i]] = ['first-occurance'=>array_search($array[$i],$array),'last-occurance'=>array_search($array[$i],array_reverse($array, true))]; 
    } 
} 

var_dump($result);