2017-05-30 88 views
1

我有一個數組$ indexedarray將數組索引轉換爲自定義值?

printr($ indexedarray)給出了這樣的事情

array (size=3) 
    0 => string 'Homes' (length=5) 
    1 => string 'Apartments' (length=10) 
    2 => string 'Villas' (length=6) 

我想改變這個數組的索引也同樣超值,喜歡

array (size=3) 
    'Homes' => string 'Homes' (length=5) 
    'Apartments' => string 'Apartments' (length=10) 
    'Villas' => string 'Villas' (length=6) 

是posssible?

+0

在(因此)我們希望你去嘗試自己**編寫代碼**。後** [做更多的研究](//meta.stackoverflow.com/questions/261592)**如果你有問題,你可以**發佈你已經嘗試**與清楚的解釋是什麼是'工作**並提供[** Minimal,Complete和Verifiable示例**](// stackoverflow.com/help/mcve)。我建議閱讀[問]一個好問題和[完美問題](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)。另外,一定要參加[遊覽]並閱讀[this](// meta.stackoverflow.com/questions/347937/)**。 –

回答

3

您可以使用array_combine

$indexedarray= ['Homes', 'Apartments', 'Villas']; 
print_r(array_combine($indexedarray, $indexedarray)); 

給出:

Array 
(
    [Homes] => Homes 
    [Apartments] => Apartments 
    [Villas] => Villas 
) 

但要知道,你的重複值將被丟棄。鑰匙將是獨一無二的!

+0

如果這些值是動態的呢?如何知道要將哪些值放入'$ arr'? –

+0

在需要的時候,它可以完成,但不能! – Thamilan

+0

實際上,它可以動態地完成。 –

-1

試試這個:

$myArray = [ 
    0 => 'Homes', 
    1 => 'Apartments', 
    2 => 'Villas' ]; 


$newArray = []; 

foreach($myArray as $key => $value){ 
    $newArray[$value] = $value; 
} 

var_dump($newArray); 
+0

它*將*刪除重複項,因爲數組只能有唯一的鍵 –

+0

@JohnConde是的!謝謝。編輯答案 –

相關問題