我试图在一个相当大而复杂的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++;
}
}
谁能解释一下->和=>的语法?
作为旁注,如果有人也能提供一些关于if语句的想法,我将非常感激。
foreach ($taxonomys as $key => $value ) {
循环遍历$taxonomys
数组中的每个元素,将键赋给$key
,将值赋给$value
。这个数组是一个关联数组,其中的值有特定的键,不一定是数字键。
$taxonomys[$key]->parent
->
使您获得对象的属性。这个例子中的对象是$taxonomys[$key]
,他们想要的属性是parent
。注意,他们也可以只使用$value->parent
,因为由于foreach循环,$value
与$taxonomys[$key]
相同。
->表示对象的方法或属性
=>用于初始化数组中的键/值对,或者在本例中用于提取foreach循环中的键/值对
->
表示访问对象的属性或方法。
=>
通常用于在数组中定义array('key' => 'value')
对。foreach的情况是特殊的,它只是意味着foreach块内部的代码将对$taxonomys
数组中的每个元素执行一次,元素键将在$key
变量中可用,值将在$value
变量中可用。