2011-12-15 51 views
1
Array 
(
    [0] => '1 Fail' 
    [1] => '2 Fail' 
    [2] => '3 Pass' 
    [3] => '4 Pass' 
    [4] => '5 Pass' 
) 

Array 
(
    ['1 Fail'] => '1 Fail' 
    ['2 Fail'] => '2 Fail' 
    ['3 Pass'] => '3 Pass' 
    ['4 Pass'] => '4 Pass' 
    ['5 Pass'] => '5 Pass' 
) 

產生關聯數組a,PHP函數是有一個PHP函數從陣列1轉換到陣列2是否有從索引數組

PS:我知道這個,所以我要尋找一個內置的功能

foreach($result as $value) 
{ 
    $assoc[$value] = $value; 
} 
+0

您可以把鑰匙和值,但我不認爲有一個內置函數將值複製到它們各自的鍵。 – 2011-12-15 12:07:45

+0

爲什麼是反對 – aWebDeveloper 2011-12-15 12:09:05

+0

「這個」有什麼問題?爲什麼不能自己瀏覽數組函數列表? – 2011-12-15 12:09:07

回答

5

假設所有的數組的值是唯一的:

$assoc = array_combine(array_values($arr), array_values($arr)); 
1

,你可以:

array_walk($array, function ($value, &$key) { 
    $key = $value; 
}); 

......但更有針對性的一點是:爲什麼你需要這樣做?

看起來這是一個非常奇怪的要求,無論你需要做的會更好做了一些其他的方式...

1

您可以使用array_combine

$arr = array(
'1 fail', 
'2 fail', 
'3 fail', 
'4 fail', 
); 
print_r(array_combine($arr, $arr)); 



Array 
(
    [1 fail] => 1 fail 
    [2 fail] => 2 fail 
    [3 fail] => 3 fail 
    [4 fail] => 4 fail 
)