Инициализация специального массива

Есть ли более короткий способ сделать это? :

$array = array(10,25,50,100,250,500,1000);

$associative = array_combine($array,$array);

Так что это может быть ассоциативным по предпочтению.
Что-то вроде :

$associative = arraymagic(array(10,25,50,100,250,500,1000));

и поэтому результат может быть

array (size=7)
10 => int 10
25 => int 25
50 => int 50
100 => int 100
250 => int 250
500 => int 500
1000 => int 1000

-1

Решение

Нет, в PHP 5.5 для этого нет явного синтаксиса.

Конечно, вы можете сделать это «короче»:

$a = [10,25,50,100,250,500,1000];
$a = array_combine($a,$a);

Но это не служит какой-либо цели.

Обновление: почему бы не реализовать предложенное arraymagic функционировать, если вам это нужно часто?

function arraymagic($array)
{
return array_combine($array, $array);
}
1

Другие решения

Если у вас есть $array = array(10,25,50,100,250,500,1000); и, как вы комментируете, вам нужно это initiate dropdown тогда зачем вам и ключи и значения? Используйте только значения:

foreach ($array as $v)
echo '<option value="' . $v . '">' . $v . '</option>';

Или, если вам нужны ключи, чтобы потом назначить им что-то:

$array = array(10 => 1,25 => 1 , ...); // etc
foreach ($array as $k => $v)
echo '<option value="' . $k . '">' . $k . '</option>';
0

По вопросам рекламы [email protected]