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

php这种写法什么意思?

WBOY
WBOYOriginal
2016-06-23 14:27:131149Durchsuche

php

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

回复讨论(解决方案)

http://www.cnblogs.com/janoyu/archive/2010/05/04/sourcejoy_com_php_other_syntax.html
你可以参考这篇文章

http://www.cnblogs.com/janoyu/archive/2010/05/04/sourcejoy_com_php_other_syntax.html
你可以参考这篇文章
我发的情况和这些都不同啊

if(defined('WP_USE_THEMES') && WP_USE_THEMES){    if('条件'){        //...    }elseif('条件'){        //...    }    //.....}

很简单,&&的前面是判断->真/假,后面是赋值->必然为真
因为shortcut的原因,如果&&的前半段为假,后半段就不需要判断了
就是说只有前半段判断为真时,后面才能赋值
因为程序的目的是赋值,所以冒号后面就不需要实际的语句了

可以理解为
也算是三元式的偷懒写法
$template = (is_404()) ? get_404_template() : false;

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

根据不同结果,显示不同页面

很简单,&&的前面是判断->真/假,后面是赋值->必然为真
因为shortcut的原因,如果&&的前半段为假,后半段就不需要判断了
就是说只有前半段判断为真时,后面才能赋值
因为程序的目的是赋值,所以冒号后面就不需要实际的语句了
明白了!

if     ( is_404()            && $template = get_404_template()            ) :

就是
if  ( is_404() ) {    $template = get_404_template();}

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