ottscho
Goto Top

IF Abfrage aus Variablen erzeugen

Hallo,

ich möchte gerne eine IF Abfrage zur Laufzeit aus meinen Variablen erzeugen.
Wie muss ich das machen?

Beispiel:
$price = 10;
$operator= '>';
$value=15;

Rauskommen soll nun also:
if (10 > 15) {
  //Anweisung
}

Ich habe es so versucht:
if ($price {$operator} $value) {
  //Anweisung
}

Das geht leider nicht.

Oder muss ich über den Umweg gehen?
if ($operator == '<') {  
   if ($price < $value) {
     //Anweisung
   }
}

if ($operator == '>') {  
   if ($price > $value) {
     //Anweisung
   }
}

Danke für eure Hilfe.

gruß
Ottscho

Content-Key: 174462

Url: https://administrator.de/contentid/174462

Printed on: April 19, 2024 at 01:04 o'clock

Member: nxclass
nxclass Oct 11, 2011 at 12:03:25 (UTC)
Goto Top
benutze den backtick Operator um den Code auf der Konsole auszuführen:
$operator = '<';  
$left = '4';  
$right = '3';  
echo ( `php -n -r "echo (($left $operator $right)?'1':'0');"` ) ? 'TRUE' : 'FALSE';  

EDIT: das funktioniert nicht wenn 'safe mode' aktiviert oder 'shell_exec()' deaktiviert ist.
Member: dog
dog Oct 11, 2011 at 15:12:29 (UTC)
Goto Top
Wenn man sowas unbedingt machen will, dann z.B. so:

<?php

function less($a,$b) {
	return ($a < $b);
}

function equal($a,$b) {
	return ($a == $b);
}

$var1 = 10;
$operand = 'less';  
$var2 = 15;

if(call_user_func($operand,$var1,$var2))
	echo "1 ist kleiner";  

?>