我在更新多维关联数组的值时遇到问题。数组 $people
是从另一个 MySQL 调用生成的。和 :
array_push($people, array("forename"=> $pat_f_name, "surname"=> $pat_s_name,"id"=> $id));
我设置了 $forname
和 $surname
到 ""
,只是为了把 key 放在那里。
我正在尝试遍历数组进行 SQL 调用并检索相关的名字和姓氏,然后更新数组索引处的键。
以下是我目前的尝试。
提前致谢。
$stmt = $mysql->stmt_init();
foreach ($people as $person)
{
if($stmt->prepare("SELECT forename,surname FROM worker WHERE id = ?"))
{
$stmt->bind_param('i', $p_id);
$p_id = $person["id"];
$stmt->execute();
$stmt->bind_result($f_name, $s_name);
while($stmt->fetch())
{
$people[$person]["forename"] = $f_name;
$people[$person]["surname"] = $s_name;
}
}
}
$stmt->close();
最佳答案
$person 是一个数组
$p_id = $person["id"];
这个
$people[$person]["forename"] = $f_name;
应该输出:
警告:....中的非法偏移类型
和
var_dump($people)
输出
array(0) { }
更好
foreach($people as $key => $person)
<your code>
$people[$key]["forename"] = $f_name;
关于php - 更新关联数组键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12639119/