具体数组初始化

Spécific Array initialisation

有没有更短的方法来做到这一点? :

$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 开始,没有明确的语法。

当然可以"shorter":

$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>';