我想知道一种在PHP中添加数组的方法。我不确定为什么,但是当我运行我的代码时,它不是添加到数组中,而是用新信息替换它。
用户可以输入2个将存储在数组中的值。我希望能够查看数组并获取存储的所有值。他们通过表单一次添加一个。这就是我所拥有的:
$variable_option = esc_html( $_POST['variable_option'] );
$variable_value = esc_html( $_POST['variable_value'] );
$variables[$variable_option] = $variable_value;
update_option( 'bhdesign_variables', $variables );
它可以在数组中存储值和选项,但是如果我再次提交表单,它会删除那里的内容并对其进行更改。为什么这样做?
答案 0 :(得分:1)
update_option
函数执行两项操作(最多):
"bhdesign_variables"
的选项。如果此选项未退出,则会创建一个具有此名称的新条目,并将存储您传递的变量($variables
)。如果该选项已存在于数据库中,则转到下一步:因此,如果要保留以前的值,首先需要从数据库中获取现有数组,向其中添加新值,然后使用新数组更新选项。
这样的事情:
$variable_option = esc_html( $_POST['variable_option'] );
$variable_value = esc_html( $_POST['variable_value'] );
$variables = get_option( 'bhdesign_variables' ); // get the existing array
$variables[$variable_option] = $variable_value; // add new key to array
update_option( 'bhdesign_variables', $variables ); // write to database
答案 1 :(得分:0)
希望不要误解这个问题 为什么只是将值添加到数组
$variable[] = esc_html( $_POST['variable_option'] );
$variable[] = esc_html( $_POST['variable_value'] );