Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.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 - Fatal编程技术网

Php 设置数组键/值对并访问

Php 设置数组键/值对并访问,php,Php,我通过从MySql导入数据并将两个单独的数组$yearsArray和$salesArray推送到$compData中,建立了一个名为$compData的数组。在将这两个数组推到$compData之前,我首先将它们的['name']分别设置为'Year'和'Sales'。下面包含了这方面的代码 $sth = mysqli_query($conn, "SELECT * FROM {$tableName} WHERE ID = 'ID_YEAR'"); $yearsArray = array(); $

我通过从MySql导入数据并将两个单独的数组$yearsArray和$salesArray推送到$compData中,建立了一个名为$compData的数组。在将这两个数组推到$compData之前,我首先将它们的['name']分别设置为'Year'和'Sales'。下面包含了这方面的代码

$sth = mysqli_query($conn, "SELECT * FROM {$tableName} WHERE ID = 'ID_YEAR'");
$yearsArray = array();
$yearsArray['name'] = 'Year';
while($r = mysqli_fetch_array($sth)) {
    For ($n = 1; $n <= $CI_YEARS; $n++){
        $yearsArray['data'][] = $r["Year$n"];
    }
}

$sth = mysqli_query($conn, "SELECT * FROM {$tableName} WHERE ID = 'IS_SALES'");
$salesArray = array();
$salesArray['name'] = 'Sales';
while($rr = mysqli_fetch_assoc($sth)) {
    For ($n = 1; $n <= $CI_YEARS; $n++){
        $salesArray['data'][] = $rr["Year$n"];
    }
}

$compData = array();
array_push($compData,$yearsArray);  // 0
array_push($compData,$salesArray);  // 1
现在我想使用下面的代码访问并回显$compData中的数据,但这不起作用。我对PHP不是很熟悉,我想知道我是否没有正确使用['Year']和['Sales']标识符。非常感谢您的帮助

foreach($compData['Year'] as $result) {
  echo $result, '<br>';
}

foreach($compData['Sales'] as $result) {
  echo $result, '<br>';
}
您已将'Year'设置为键'name'的值,但尝试将其用作另一个数组的键

现在你有了

echo $compData[0]['name']; // -> 'Year'
echo $compData[1]['name']; // -> 'Sales'
你可能想要

 $compData = array();
 $compData['Year'] = $yearsArray; 
 $compData['Sales'] = $salesArray; 
您将'Year'设置为键'name'的值,而不是数组。现在您尝试将其用作另一个数组的键。