Heim >Backend-Entwicklung >PHP-Tutorial >php这种写法什么意思?解决办法

php这种写法什么意思?解决办法

WBOY
WBOYOriginal
2016-06-13 11:46:19913Durchsuche

php这种写法什么意思?

<br />if ( defined('WP_USE_THEMES') && WP_USE_THEMES ) :<br />	$template = false;<br />	if     ( is_404()            && $template = get_404_template()            ) :<br />	elseif ( is_search()         && $template = get_search_template()         ) :<br />	elseif ( is_front_page()     && $template = get_front_page_template()     ) :<br />	elseif ( is_home()           && $template = get_home_template()           ) :<br />	elseif ( is_post_type_archive() && $template = get_post_type_archive_template() ) :<br />	elseif ( is_tax()            && $template = get_taxonomy_template()       ) :<br />	elseif ( is_attachment()     && $template = get_attachment_template()     ) :<br />		remove_filter('the_content', 'prepend_attachment');<br />	elseif ( is_single()         && $template = get_single_template()         ) :<br />	elseif ( is_page()           && $template = get_page_template()           ) :<br />	elseif ( is_category()       && $template = get_category_template()       ) :<br />	elseif ( is_tag()            && $template = get_tag_template()            ) :<br />	elseif ( is_author()         && $template = get_author_template()         ) :<br />	elseif ( is_date()           && $template = get_date_template()           ) :<br />	elseif ( is_archive()        && $template = get_archive_template()        ) :<br />	elseif ( is_comments_popup() && $template = get_comments_popup_template() ) :<br />	elseif ( is_paged()          && $template = get_paged_template()          ) :<br />	else :<br />		$template = get_index_template();<br />	endif;<br />	/**<br />	 * Filter the path of the current template before including it.<br />	 *<br />	 * @since 3.0.0<br />	 *<br />	 * @param string $template The path of the template to include.<br />	 */<br />	if ( $template = apply_filters( 'template_include', $template ) )<br />		include( $template );<br />	return;<br />endif;<br />

------解决方案--------------------
很简单,&&的前面是判断->真/假,后面是赋值->必然为真
因为shortcut的原因,如果&&的前半段为假,后半段就不需要判断了
就是说只有前半段判断为真时,后面才能赋值
因为程序的目的是赋值,所以冒号后面就不需要实际的语句了
------解决方案--------------------
可以理解为
也算是三元式的偷懒写法
$template = (is_404()) ? get_404_template() : false;

if (is_404()) $template = get_404_template();
else $template = false;

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn