2

あなたのことはわかりませんが、PHPで配列を作成する方法はあまり好きではありません。array私は、キーワードを頻繁に使用しすぎていると感じています。また、マップの有用性を考えると、長array($k => $v)すぎると感じています。(さらに、最近JSのやり方をarray($k1=>array($k2=>$v))学び、今は本当に嫉妬しています)

これを改善するために私が思いつくことができる最善の方法は次のとおりです。

function a() { // array
  return func_get_args();
}

function h() { // hash
  $array=array();
  for($i=0; $i<func_num_args()-1; $i+=2) {
    $array[func_get_arg($i)]=func_get_arg($i+1);
  }
  return $array;
}

=>...ただし、演​​算子の使用は許可されていません。

他のアイデアはありますか?

4

3 に答える 3

8

PHP 5.4以降では、 andを使用した配列の簡略構文がサポートされています。あなたの例:[]

array($k => $v)
array($k1=>array($k2=>$v))

次のように記述できるようになりました。

[$k => $v]
[$k1 => [$k2 => $v]]
于 2012-04-24T12:23:38.280 に答える
3

PHPで配列を宣言するための省略構文はありません。それは私が見たい機能ですが、それが実現するかどうかは非常に疑わしいです。

これは、PHP開発者やPHPコミュニティによって多くの議論がなされてきましたが、実装されることはありませんでした。展開されたディスカッションがPHPwikiでどのように利用可能であるかを確認したい場合は、開始点として適しています:http ://wiki.php.net/rfc/shortsyntaxforarrays

今のところ、あなたは一握りの余分な文字をタイプすることに我慢しなければならないでしょう。

于 2009-09-29T23:58:05.437 に答える
0

テンプレート/マクロでTexterまたはまともなエディターを使用してください。例えば:

[]+Tab ---> array({cursor})

本当に夢中になっている場合は、json_decode マクロを作成して、次のように選択を実行します。

<?php var_export(json_decode(stream_get_contents(STDIN), true));

JSONを見たいので、PHPコードにJSONを入れないでください...

于 2009-09-30T05:42:58.293 に答える