我正在尝试在一个相当大而复杂的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语句的内容提出意见,我将非常感激。
答案 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
变量中。