Проблема с оператором ?: и ссылками

Azy

Новичок
Проблема с оператором ?: и ссылками

Имею строку следующего вида:
PHP:
$var	= ($property == "Requirements") ? &$this->aRequirements : &$this->aEffects;
ругается. говорит parse error, unexpected '&'.

Может я механизм ссылок касательно свойств класса не так юзаю?
 

Azy

Новичок
PHP:
		function __call($method, $arg)
		{
			if (substr($method,0,3)=="set")
			{
				$property = substr($method, 3, strlen($method));
				switch ($property)
				{
					case "Requirements":
					case "Effects":
						$var	= ($property == "Requirements") ? &$this->aRequirements : &$this->aEffects;
									
						if (gettype($arg[0])!="array")
						{
							$arg[0]	= explode(" ", $arg[0]);
							foreach($arg[0] as &$value)
							{
								settype($value, "int");
							}
						}
						break;
						
					case "Level":
					case "Slot"
						settype($arg[0], "int");
						if (trim($arg[0])=="")
						{
							return false;
						}
						$var	= ($property == "Level") ? &$this->iLevel: &$this->iSlot;
						break;
				}
				
				$var	= $arg[0];
				return true;
			} //if (substr($method,0,3)=="set")
		} //function __call($method, $arguments)
-~{}~ 10.09.06 20:40:

PHP:
						if ($property == "Requirements")
						{
							$var	= &$this->aRequirements;							
						}
						else
						{
							$var 	= &$this->aEffects;
						}
Так работает, но хотелось бы через ?:. Код элегантней получается.
 

die_hard

Новичок
фишка в том, что через оператор ? можно передать только значение, но не вычисляемое значение...как-то так :). я тоже как-то задавался решение такой же проблемы :)
 
Сверху