如何在使用表单的逗号开头的现有数组末尾添加新数组?

时间:2015-06-23 23:37:55

标签: php

我正在尝试提交一份表格以及“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会员的任何建议?尝试在现有数组中添加这些提交表单字段,如上所示。

2 个答案:

答案 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);