2012-08-23 2 views

ответ

7

Если предположить, что исходный массив строго числовой массив :

На самом деле работает для нечисловых, а также:

array_combine($array, $array); 

http://codepad.org/fxOmIh2D

1

в случае не числовой массив

простая логика использования стоимости в качестве ключевых работ

$array1 = array(
    0 => "bar", 
    "cat" => "foo",); 
foreach($array1 as $key => $value) 
{ 
    $array1[$value] = $value; 
    unset($array1[$key]); 
} 

var_dump($array1); 

дает

array(2) { 
    ["bar"]=> 
    string(3) "bar" 
    ["foo"]=> 
    string(3) "foo" 
} 

и если его строгое использование ответ выше, будет быстрее, я думаю, и чистый код тоже.

http://codepad.org/x3Z1zLjz

1
$arr = array(
0 => "bar", 
1 => "foo", 
); 

$arrCombine = array_combine($arr, $arr); 

print_r($arrCombine); 
 
gives 

Array 
(
    [bar] => bar 
    [foo] => foo 
) 
Смежные вопросы