1

ループ内のキーと値のペアを使用して配列をインクリメント (さらに値を追加) するにはどうすればよいですか。

$field['choices'] = array(
   'custom' => 'My Custom Choice'
 );

別の配列からさらに 3 つの選択肢を追加したいとしましょう。

達成したい出力:

$field['choices'] = array(
  'custom1' => 'My Custom Choice1'
  'custom2' => 'My Custom Choice2'
  'custom3' => 'My Custom Choice3'
  'custom4' => 'My Custom Choice4'
);
4

5 に答える 5

2

繰り返し、インデックスをキーのプレフィックスに連結します。

for ($i = 2; $i <= 4; $i++) {
    $field['choices']['custom' . $i] = 'My Custom Choice' . $i;
}
于 2013-08-16T21:51:43.007 に答える
0

配列関数を使用してソートまたはマージできます。

または、次のようなこともできます。

$field['choices']['custom'] = 'My Custom Choice';
$field['choices']['custom2'] = 'My Custom Choice';
$field['choices']['custom3'] = 'My Custom Choice';
$field['choices']['custom4'] = 'My Custom Choice';
于 2013-08-16T21:45:15.040 に答える
0

を使用しますarray_merge()

マニュアルから:

array array_merge ( array $array1 [, array $... ] )

1 つ以上の配列の要素をマージして、1 つの値が前の配列の末尾に追加されるようにします。結果の配列を返します。

入力配列に同じ文字列キーがある場合、そのキーの後の値が前の値を上書きします。ただし、配列に数値キーが含まれている場合、後の値は元の値を上書きせずに追加されます。

于 2013-08-16T21:45:17.990 に答える
0

質問で概説したように:

$field['choices'] = array(
   'custom' => 'My Custom Choice'
 );

そう:

$array = $field['choices'];

次の例を単純化します。

$otherArray = range(1, 3); // another array with 3 values

$array += $otherArray; // adding those three values (with _different_ keys)

終わり。配列を持つ演算子は+ユニオンと呼ばれます。ここに文書化されています:

+したがって、追加する他の配列に、追加する 1 つの配列と比較して 3 つの異なるキーがある限り、演算子を使用できます。

于 2013-08-16T22:42:48.697 に答える