ThinkPHP/Library/Vendor/TemplateLite/internal/compile.parse_is_expr.php

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

<?php
/**
 * Template Lite compile IS exprenssion in IF tag - template internal module
 *
 * Type:	 template
 * Name:	 compile_parse_is_expr
 */

function compile_parse_is_expr($is_arg, $_args, &$object)
{
	$expr_end = 0;
	$negate_expr = false;

	if (($first_arg = array_shift($_args)) == 'not') {
		$negate_expr = true;
		$expr_type = array_shift($_args);
	}
	else
	{
		$expr_type = $first_arg;
	}

	switch ($expr_type) {
		case 'even':
			if (isset($_args[$expr_end]) && $_args[$expr_end] == 'by')
			{
				$expr_end++;
				$expr_arg = $_args[$expr_end++];
				$expr = "!(1 & ($is_arg / " . $object->_parse_variable($expr_arg) . "))";
			}
			else
			{
				$expr = "!(1 & $is_arg)";
			}
			break;

		case 'odd':
			if (isset($_args[$expr_end]) && $_args[$expr_end] == 'by')
			{
				$expr_end++;
				$expr_arg = $_args[$expr_end++];
				$expr = "(1 & ($is_arg / " . $object->_parse_variable($expr_arg) . "))";
				}
				else
				{
					$expr = "(1 & $is_arg)";
				}
				break;

			case 'div':
				if (@$_args[$expr_end] == 'by')
				{
					$expr_end++;
					$expr_arg = $_args[$expr_end++];
					$expr = "!($is_arg % " . $object->_parse_variable($expr_arg) . ")";
				}
				else
				{
					$object->trigger_error("expecting 'by' after 'div'", E_USER_ERROR, __FILE__, __LINE__);
				}
后面还有 17 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。