【问题标题】:variable as key multidimensional array变量作为键多维数组
【发布时间】:2019-10-24 09:32:02
【问题描述】:

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

Array
(
    [0] => stdClass Object
        (
            [NIK] => 00001
            [NAME] => Name 1
        )

    [1] => stdClass Object
        (
            [NIK] => 00002
            [NAME] => Name 2
        )
)

对于某些condition,数组将被更改,因此我创建了一个函数来获取密钥。这就是我的工作

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>";
}

但是当我运行它时,我得到了这个错误Message: Array to string conversion。我该如何解决?在此先感谢

【问题讨论】:

  • 正如错误所说,您正在尝试将数组转换为字符串。您需要找出尝试执行此操作的位置并检查以确保打印输出是字符串而不是数组对象
  • 这一切的目的是什么?
  • 看起来像这里 (echo "" . $lists[$x]->$kolom[$x] . ""; ) 你尝试打印数组,这就是为什么你发现了这个错误。

标签: php arrays codeigniter-3


【解决方案1】:

为什么不只是:

// 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>";
}

【讨论】:

  • 哦,千万不要这样想。我太难了-_-
猜你喜欢
  • 2019-07-24
  • 1970-01-01
  • 1970-01-01
  • 2017-02-25
  • 2022-01-02
  • 2019-07-23
  • 1970-01-01
  • 1970-01-01
  • 2011-12-30
相关资源
最近更新 更多