无法将数组用作数组?

时间:2017-09-10 15:51:40

标签: php mysql arrays

我正在为我的公司构建软件下载站点。

但是,我遇到了一个问题,我不确定如何过去。

我正在从表中检索有关特定软件版本的所有信息,并将它们放在多维数组中。然后我试图对该数组运行foreach(我甚至尝试过for循环),我得到如下错误: Error Message

当我对原始数组运行var dump时,我得到了这个:

Var Dump Results

所以我真的很困惑,因为我不知道自己错过了什么,或者我哪里出错了。我想运行它的原因是我可以将数组过滤成一维数组。

以下是主要网页的代码

<?php
  //Displays list of companies in 2 columns
  $versionAccess = VersionAccess::findAccess($relId);//This gets set earlier in the webpage
  $count = count($versionAccess);
  var_dump($versionAccess);
  foreach ($versionAccess as $va)
  {
    if ($va->company_access != '0')
    {
      $versionAcc[] = $va->comapny_id;
    }
  }
  foreach ($company as $compAccess)
  {
    $compAccessId = $compAccess->company_id;
    if (in_array($compAccessId, $versionAcc))
    {
      $access = 'checked disabled';
    }
    else { $access = 'disabled'; }
    $accessName = 'access'.$compAccessId;
    if ($ctr % 2 == 0)
    {
      echo '<td>'.$compAccess->company_name.':</td>';
      echo '<td><label class="switch"><input type="checkbox" name="'.$accessName.'" value="1" '.$access.'><span class="slider round"></span></label></td>';
      echo '</tr>';
    }
    else
    {
      if ($ctr < $compCount)
      {
         echo '<tr>';
         echo '<td>'.$compAccess->company_name.':</td>';
         echo '<td><label class="switch"><input type="checkbox" name="'.$accessName.'" value="1" '.$access.'><span class="slider round"></span></label></td>';
      }
      else
      {
         echo '<tr>';
         echo '<td>'.$compAccess->company_name.':</td>';
         echo '<td><label class="switch"><input type="checkbox" name="'.$accessName.'" value="1" '.$access.'><span class="slider round"></span></label></td>';
         echo '</tr>';
       }
    }
    $ctr++;
  }
?>

从数据库中提取数据的功能是:

public static function findAccess($accessId)
//find the version access in database
{
    return self::findQuery("SELECT * FROM version_access WHERE version_id = '$accessId'");
}

findQuery方法:

public static function findQuery($sql)
{
    global $database;

    $resultSet = $database->query($sql);
    $objectArray = array();
    while ($row  = mysqli_fetch_array($resultSet))
    {
        $objectArray[] = self::instant($row);
    }
    return $objectArray;
}

我还是比较新的,非常感谢任何帮助。

0 个答案:

没有答案