我在访问其中一个函数中的传递对象的属性时遇到了一些问题。我知道对象定义没有问题或我如何访问属性,因为我能够在别处做到这一点。
供参考:
$officials_array
是Official
个对象的数组。
$division
和division_scope
是此对象的属性。
$modal_counter
只是一个计数器(我已将代码简化为只是给我提出问题的内容,因此您可以看到此代码中的计数器实际上没有被修改)。
以下是代码:
$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循环访问对象有关,但我不确定。
答案 0 :(得分:2)
你有一个简单的拼写错误 - function echoOfficial($offic!!al
- 你错过了i
。
我建议你使用任何语法高亮的IDE来避免将来出现这样的错误,因为它们非常难以检测到。