【问题标题】:Arrays - foreach brings ->Fatal error: Cannot use object of type数组 - foreach 带来 -> 致命错误:无法使用类型的对象
【发布时间】:2011-09-18 19:39:00
【问题描述】:

所以,我对这个数组很生气,第 2 天让我痛苦*....

我正在开发一个 OOP PHP 脚本。

我得到一个数组:

Array ( [0] => Project Object ( [project_id] => 1 [title] => Some Name [date] => 2011-10-20 [place] => Some City [customer] => 1 [proj_budget] => [manager] => 1 [team] => 1 [currency] => 1 ) )

当我尝试这样做时:

<?php
    $project = new Project();
    $projects = $project->findAll();
    print_r($projects);
    foreach ($projects as $temptwo) {
      echo $temptwo['title'].", \n";
    }
?>

我明白了:

Fatal error: Cannot use object of type Project as array

为什么?它想从我这里得到什么?

【问题讨论】:

  • 是的,友好的手册 - 我同意..感谢你们的回答,我知道如何使用 $project->title,这就是我几分钟前所做的,但它没有用。 . 谢谢大家的回复.. 那时没用,现在我试了 - 它有效,我会压碎我的笔记本电脑... :D 谢谢!!!

标签: php


【解决方案1】:

您以数组的形式访问项目

echo $temptwo['title'].", \n";

您可能想访问它们的属性

echo $temptwo->title.", \n";

【讨论】:

    【解决方案2】:

    这是因为您正在循环一个对象数组,因此数组中的每个项目都是一个对象,您需要将其作为一个对象来处理。

    foreach($projects as $temptwo){
        echo $temptwo->title;
    }
    

    【讨论】:

      【解决方案3】:

      它希望您将对象用作对象,而不是数组。

          echo $temptwo->title . ", \n";
      

      【讨论】:

        【解决方案4】:

        尝试使用:

        echo $temptwo->title.", \n";
        

        改为。

        【讨论】:

          【解决方案5】:

          您尝试获取对象的数据。它看起来像一个数组,但它不是。它是一个对象,所以你必须使用

          $temptwo->标题

          【讨论】:

            猜你喜欢
            • 2017-11-12
            • 1970-01-01
            • 2014-06-02
            • 2013-05-07
            • 2017-12-08
            • 2013-07-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多