我正在尝试提交一份表格以及“First”& “Last”名称,在提交表单时,如何将这些新名称插入到以逗号开头的现有数组中(因此PHP文件不会因白色空格而中断)。
我已经尝试了好几次,但根本没用。
这是一个名为“ Arrays.php ”
的PHP文件<?php
$array_demo = array
(
// list of peoples names
'John' => 'Wright'
);
?>
这是名为 index.php
的HTML表单<form action="" method="POST">
<input type="text" name="firstname"><br>
<input type="text" name="lastname"><br>
<button type="submit">Add Names</button>
</form>
StackOverflow会员的任何建议?尝试在现有数组中添加这些提交表单字段,如上所示。
答案 0 :(得分:1)
匹配当前结构,你可以做到这一点
$array_demo[{$_POST['firstname']}]= $_POST['lastname'];
但请记住密钥是唯一的,因此您不能让2个人使用相同的名字
扩展到基本的php:
添加:
action="Arrays.php"
到表格
然后在Arrays.php中:
$array_demo=array();//if the array is not already initialized.
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['firstname']) && isset($_POST['lastname'])){
$array_demo[{$_POST['firstname']}]= $_POST['lastname'];
}
答案 1 :(得分:0)
执行此操作的最佳方法是JSON序列化。它更具人性化,您将获得更好的性能。我不知道你为什么要在php文件中保存数组本身。
$array_demo = array('John' => 'Wright');
//if you want to add a new name, Then you can do
$array_demo[$_POST['firstname']]= $_POST['lastname'];
//Then store the array to a file
file_put_contents("array.json",json_encode($array_demo));
# array.json => {"John":"Wright"}
//Then you can load the file back to an array
$array_demo = json_decode(file_get_contents('array.json'), true);