2014-09-22 53 views
0

我在访问一个函数中的传递对象的属性时遇到了一些麻烦。我知道对象定义或我如何访问属性没有问题,因为我可以在其他地方做到这一点。如何访问传递给函数的对象的属性?

参考:

$officials_arrayOfficial对象的数组。

$divisiondivision_scope是此物件的属性。 (我简化了代码,直到问题出在哪里,所以你可以看到这个代码实际上没有被修改)。

下面是代码:

$modal_counter = 0; 
function echoOfficial($offical, $modal_counter) { 
    echo "Scope: " . $official->division_scope . " Name: " . $official->division; 
    return $modal_counter; 
} 

echo "<h2>National</h2>"; 
foreach ($officials_array as $official) { 
    if ($official->division_scope == "national") { 
     $modal_counter = echoOfficial($official, $modal_counter); 
    } 
} 

if工作正常,并且echoOfficial()函数被调用,但性能不与文字呼应沿(输出仅仅是Scope: Name:),它似乎是该对象实际上不会传递给该函数。如果我尝试访问某个对象的方法,那么代码就不会运行。

我搞不​​清楚我做错了什么。我认为这可能与从foreach循环访问对象有关,但我不确定。

回答

2

你有一个简单的错字 - function echoOfficial($offic!!al - 你错过了i

我建议你使用任何语法高亮的IDE来避免将来出现这样的错误,因为它们难以察觉。

+0

哇,非常感谢。我觉得自己像一个白痴... – 2014-09-22 13:43:01

+0

这些错别字,如果你使用一个好的IDE,将不会有这样的问题在99%的速度。大多数IDE会在线路上提供一个红色指示灯等。 – 2014-09-22 13:47:09

+1

@ConorStrejcek IDE是一回事,也可以考虑启用错误。 [如何在PHP中获取有用的错误消息?](http://stackoverflow.com/a/845025/3361444) – Debflav 2014-09-22 13:47:21

相关问题