Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何向多维数组添加新的关联数组键?_Php_Mysql_Session_Multidimensional Array_Foreach - Fatal编程技术网

Php 如何向多维数组添加新的关联数组键?

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

我正在尝试向名为“company_*”的关联数组中添加一个名为“name”的新值,它是作为MySQL查询结果存储在“result”关联数组中的五个公司之一

我怀疑在foreach中将每个公司设置为局部变量不会更新$result的内部数组值,但我找不到解决方案。下面是我用来完成任务的代码:

$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()混合使用也会给我带来问题。谢谢