【问题标题】:php concating variable and accessing arrayphp连接变量和访问数组
【发布时间】:2016-10-15 13:44:23
【问题描述】:

这样的事情可能吗?

for ($i = 1; $i <= 15; $i++) {
        $var = "bild" . $i;
        if (!empty ($row->bild.$i)) {
            echo '
                <div class="item">
                        <img border="no" class="bildschatten" src="include/images/projekte/'.$row->bild . $i.'" />
                </div>
            ';
        }
    }

它应该看起来如何正确?问题是:

我从 mysql 数据库中获取对象,在这个表中每个对象有 15 个图像

图片1 ..图片15

现在我想遍历这 15 个图像并想检查列是否为空。

我的问题在这里:

$row->bild.$i

不包含列 bild1.. bild15 的值 ...它只包含 $i 的值

谢谢

【问题讨论】:

  • 试试$row-&gt;$var。更多详情请查看manual
  • 神秘的尝试了这个bevore ...它现在可以工作了,对不起这个愚蠢的问题
  • @Felix 考虑normalize 你的餐桌。

标签: php mysql php-5.6


【解决方案1】:

这段代码应该可以工作:

$row->{'bild'.$i}

【讨论】:

    【解决方案2】:

    这称为变量中的变量,您需要访问类似 $row-&gt;$var 的内容。

    完整解决方案:

    for ($i = 1; $i <= 15; $i++) {
        $var = "bild" . $i;
        if (!empty ($row->$var)) {
            echo '
                <div class="item">
                        <img border="no" class="bildschatten" src="include/images/projekte/'.$row->$var.'" />
                </div>
            ';
        }
    }
    

    更多详情请查看Manual

    【讨论】:

      【解决方案3】:

      您可以将结果作为数组 uning 获取

          $row  =  db_fetch_array($result) 
      

      然后访问

          $var = "bild" . $i;
          if (!empty ($row[$var])) {
      

      【讨论】:

      • 然后我得到了这个:Fatal error: Cannot use object of type stdClass as array in 行变量是这个:while ($row = db_fetch_object($sql)) {
      • @Felix 。就像在答案开头指出的那样,您应该使用 db_fetch_array($result) 将结果作为数组获取
      猜你喜欢
      • 1970-01-01
      • 2015-12-13
      • 2021-06-24
      • 2018-05-31
      • 1970-01-01
      • 2012-03-06
      • 2016-06-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多