【发布时间】:2013-07-01 12:22:33
【问题描述】:
我有两个 php 页面“page1”和“page2”。
- page1 提交一个表单(method="post")并将表单值发送到 page2。
- page2 使用发布的值更新其多维数组。
这里是更新数组的代码:
// page2 //
if(isset($_POST['submit'])) {
// Loop 1
foreach($medewerkers as $medewerker){
if($_POST['txtId'] == $medewerker[0]){
$medewerker[1] = $_POST['txtNaam'];
}
print_r($medewerker); // SHOWS THAT IT IS UPDATED
// Array ( [0] => 1 [1] => value updated )
}
// Loop 2
foreach($medewerkers as $medewerker){
print_r($medewerker); // SHOWS THAT IT IS NOT UPDATED
// Array ( [0] => 1 [1] => blabla )
}
}
正如您在我的 cmets 中看到的,在“循环 1”中它正在更新,它也显示它已更新。但是,如果我再次循环遍历数组,就像您在“循环 2”中看到的那样,它表明它没有更新。
你能看出我做错了什么吗?
【问题讨论】:
-
“为了能够直接修改循环内的数组元素,在$value前加上&。在这种情况下,将通过引用分配值。” – php.net/manual/en/control-structures.foreach.php
标签: php arrays forms multidimensional-array