我正在尝试从php中的表单值向数组添加新元素。但是每次我这样做都会覆盖最近的元素。所以我现有的数组是这样的:
$moviepages = [[ "title" => "test1",
"description" => "this is my test"
]
];
我想将它(通过表单值创建)添加到它:
$newfile = [
"title" => "test2",
"description" => "test2",
];
通过这样做:
$moviepages[] = $newfile;
但是我需要连续添加元素,这样当不同的用户进来时,他们可以将项目添加到同一个数组,而不会删除先前的数组元素。有没有办法做到这一点? 谢谢!
答案 0 :(得分:1)
如果表单值存储在数组中,您可以尝试使用array_merge()
将两个数组合并在一起。例如;
array_merge($moviepages, $newFile)
修改强>
您也可以尝试使用array_merge_recursive()函数,因为它不会删除以前的条目,只是为这些值创建一个新数组。例如;
此代码;
$a1=array("a"=>"red","b"=>"green");
$a2=array("c"=>"blue","b"=>"yellow");
print_r(array_merge_recursive($a1,$a2));
会产生这个结果;
Array ( [a] => red [b] => Array ( [0] => green [1] => yellow ) [c] => blue )
这个解释来自w3schools,两者之间存在差异。
此函数(array_merge_recursive())和array_merge()函数之间的区别是 当两个或多个数组元素具有相同的键时。而不是覆盖 键,array_merge_recursive()函数使值为 阵列。
至于file_put_contents-,请尝试查看w3schools和tutorialspoint
让我知道它是否适合您或您是否有任何问题。