Home >Backend Development >PHP Tutorial >php这种写法什么意思?解决办法

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

WBOY
WBOYOriginal
2016-06-13 11:46:19915browse

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;

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn