Есть ли более короткий способ сделать это? :
$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
Нет, в 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);
}
Если у вас есть $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>';