Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.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_Arrays_Codeigniter 3 - Fatal编程技术网

Php 变量作为键多维数组

Php 变量作为键多维数组,php,arrays,codeigniter-3,Php,Arrays,Codeigniter 3,我有一个数组$data['lists'] 在某些情况下,数组将被更改,因此我创建了一个函数来获取密钥。我就是这么做的 foreach($data['lists'] as $key => $val) { foreach( $val as $keyItem => $valKey) { $data['column'][] = $keyItem; } } $data['kolom']

我有一个数组$data['lists']

在某些情况下,数组将被更改,因此我创建了一个函数来获取密钥。我就是这么做的

foreach($data['lists'] as $key => $val)
   {
        foreach( $val as $keyItem => $valKey)
          {
                $data['column'][] =  $keyItem;
          }
   }   
$data['kolom'] = array_unique($data['column']);
然后在HTML中我这样做

<?php
$no = 0;
for ($y = 0; $y < count($lists); $y++) {
    $no++;
    echo "<tr>";
    echo "<td>" . $no . "</td>";
    for ($x = 0; $x < count($kolom); $x++) {
        echo "<td>" . $lists[$x]->$kolom[$x] . "</td>";
    }
    echo "</tr>";
}
但是当我运行它时,我得到了这个错误消息:数组到字符串的转换。我怎样才能修好它?提前感谢

为什么不:

// iterate over `$lists`
foreach ($lists as $val) {
    $no++;
    echo "<tr>";
    echo "<td>" . $no . "</td>";
    // output every value from each `$lists` item
    foreach ($val as $valKey) {
        echo "<td>" . $valKey . "</td>";
    }
    echo "</tr>";
}

正如错误所说,您正在尝试将数组转换为字符串。您需要找出正在尝试执行此操作的位置,并进行检查,以确保打印输出是字符串而不是数组对象。所有这些的目的是什么?如下图所示$列出[$x]->$kolom[$x];你尝试打印数组,这就是为什么你会想到这个错误。哦,永远不要这样想。我让它变得很难-_-
// iterate over `$lists`
foreach ($lists as $val) {
    $no++;
    echo "<tr>";
    echo "<td>" . $no . "</td>";
    // output every value from each `$lists` item
    foreach ($val as $valKey) {
        echo "<td>" . $valKey . "</td>";
    }
    echo "</tr>";
}