有人可以解释这个PHP语法吗?

时间:2013-06-13 21:13:48

标签: php wordpress syntax wordpress-theming

我正在尝试在一个相当大而复杂的WordPress主题中修补一些PHP,我找到了这一行:

if(is_array($taxonomys)) {
    $tax = 1;
    foreach ($taxonomys as $key => $value ) {

        if($taxonomys[$key]->parent == 0 && isset($taxonomys[$key]->name) && in_array($taxonomys[$key]->name, $used_taxonomys)) {
            echo '<li class="tab"><li class="selected"><a href="#" data-filter="*" class="selected">'.lambda_translate_meta($taxonomys[$key]->name).'</a></h3></li>';
        } 
        if(in_array($taxonomys[$key]->name, $used_taxonomys) && $taxonomys[$key]->parent != 0 ) {                           
            echo '<li class="tab"><h3><a href="#" data-filter=".'.$taxonomys[$key]->slug.'_filt">'.lambda_translate_meta($taxonomys[$key]->name).'</a></h3></li>';
        }
    $tax++;
    }
}

有人可以解释一下 - &gt;和=&gt;句法? Google令人惊讶地无益。

作为旁注,如果有人也会就if语句的内容提出意见,我将非常感激。

3 个答案:

答案 0 :(得分:3)

foreach ($taxonomys as $key => $value ) {

循环遍历$taxonomys数组中的每个元素,将关键字分配给$key,将值分配给$value。此数组是一个关联数组,其中值具有特定键,而不一定是数字键。

$taxonomys[$key]->parent

->获取对象的属性。在这种情况下,对象是$taxonomys[$key],他们想要的属性是parent。请注意,他们也可能刚刚使用$value->parent,因为由于foreach循环,$value$taxonomys[$key]相同。

答案 1 :(得分:1)

- &GT;用于表示对象的方法或属性

=&GT;用于初始化数组中的键/值对,或者,如本例所示,用于在foreach循环中提取键/值对

答案 2 :(得分:1)

->表示访问对象的属性或方法。

=>通常用于定义数组中的array('key' => 'value')对。 foreach情况是特殊的,它只是意味着foreach块内部的代码将对$taxonomys数组中的每个元素执行一次,元素键将在$key变量和值中可用在$value变量中。