Php 如何向多维数组添加新的关联数组键?
我正在尝试向名为“company_*”的关联数组中添加一个名为“name”的新值,它是作为MySQL查询结果存储在“result”关联数组中的五个公司之一 我怀疑在foreach中将每个公司设置为局部变量不会更新$result的内部数组值,但我找不到解决方案。下面是我用来完成任务的代码:Php 如何向多维数组添加新的关联数组键?,php,mysql,session,multidimensional-array,foreach,Php,Mysql,Session,Multidimensional Array,Foreach,我正在尝试向名为“company_*”的关联数组中添加一个名为“name”的新值,它是作为MySQL查询结果存储在“result”关联数组中的五个公司之一 我怀疑在foreach中将每个公司设置为局部变量不会更新$result的内部数组值,但我找不到解决方案。下面是我用来完成任务的代码: $member_id = $_SESSION['member_id']; // The member_id of who is logged in if ($stmt = $mysqli->query
$member_id = $_SESSION['member_id']; // The member_id of who is logged in
if ($stmt = $mysqli->query("SELECT * FROM member_answers WHERE member_id = '$member_id'")) {
if ($stmt->num_rows == 5) {
$result = $stmt->fetch_all(MYSQLI_ASSOC);
// Let's also set up company names by querying for the company name in the DB
foreach ($result as $company) {
$tempID = $company['company_id'];
$query = $mysqli->query("SELECT name FROM companies WHERE company_id = `$tempID` LIMIT 1");
$name = mysqli_fetch_row($query);
$company['name'] = $name[0];
}
// Set up the session variables
$_SESSION['company_one'] = $result[0];
$_SESSION['company_two'] = $result[1];
$_SESSION['company_three'] = $result[2];
$_SESSION['company_four'] = $result[3];
$_SESSION['company_five'] = $result[4];
$_SESSION['all_companies'] = $result;
$_SESSION['chosen_companies'];
如果您想在原始数组中进行更改,只需使用company
$result作为&$company
中的引用&$company和$company之间的区别是什么?成功了!我还发现,将程序风格mysqli_fetch_row()与$query->fetch_row()混合使用也会给我带来问题。谢谢