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

WBOY
Release: 2016-06-13 11:46:19
Original
904 people have browsed it

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 />
Copy after login

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

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

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template