<?php namespace eMacros\Runtime\Logical;
use eMacros\Applicable; use eMacros\Scope; use eMacros\GenericList;
class LogicalAnd implements Applicable { /** * Applies a logical AND to all operands * Usage: (and true true) (and true true false) * Returns: boolean * (non-PHPdoc) * @see \eMacros\Applicable::apply() */ public function apply(Scope $scope, GenericList $operands) { if (count($operands) == 0) { throw new \BadFunctionCallException("And: No parameters found."); } foreach ($operands as $expr) { if (!$value = $expr->evaluate($scope)) { return $value; } }
return $value; } }
|