如何在循环中使用键值对增加(添加更多值)数组。
$field['choices'] = array(
'custom' => 'My Custom Choice'
);
我想说我想从另一个阵列中再添加三个选项吗?
我希望实现的输出:
$field['choices'] = array(
'custom1' => 'My Custom Choice1'
'custom2' => 'My Custom Choice2'
'custom3' => 'My Custom Choice3'
'custom4' => 'My Custom Choice4'
);
答案 0 :(得分:2)
迭代并将索引连接到密钥中的前缀:
for ($i = 2; $i <= 4; $i++) {
$field['choices']['custom' . $i] = 'My Custom Choice' . $i;
}
答案 1 :(得分:0)
您可以使用array functions进行排序或合并。
或者你可以这样做:
$field['choices']['custom'] = 'My Custom Choice';
$field['choices']['custom2'] = 'My Custom Choice';
$field['choices']['custom3'] = 'My Custom Choice';
$field['choices']['custom4'] = 'My Custom Choice';
答案 2 :(得分:0)
您可能希望使用 array_merge()
。
从手册:
array array_merge ( array $array1 [, array $... ] )
将一个或多个数组的元素合并在一起,以便显示值 一个附加到前一个的末尾。它返回 结果数组。
如果输入数组具有相同的字符串键,则后面的值 该密钥将覆盖前一个密钥。但是,如果是数组 包含数字键,后面的值不会覆盖原始值 值,但会附加。
答案 3 :(得分: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)
完成。带数组的+
运算符称为union。您可以在此处找到它:
因此,只要您要添加的其他数组与添加它的一个数组相比有三个不同的键,就可以使用+
运算符。
答案 4 :(得分:0)
以下是我将用于将$otherArray
值添加到自定义增量数组键值
if (count($field['choices']) === 1) {
$field['choices']['custom1'] = $field['choices']['custom'];
unset($field['choices']['custom'];
$i = 2;
} else {
$i = count($field['choices']) + 1;
}//END IF
foreach ($otherArray as $key => $val) {
$field['choices']['custom' . $i] = $val;//Where val is the value from the other array
$i++;
}//END FOREACH LOOP