Hi @ll,
ich brauch hier wohl mal einen richtigen PHP-Crack:
ich versuche einen über die Register-Variable empfangegen String auszuwerten. Der auszuwertende String hat das Format „SBx“, wobei x= „L“,„R“ oder " " sein kann. Abhängig vom Wert an der 3. Position sollen 3 unterschiedliche Variablen mit Werten befüllt werden.
Nun schreibt diese bl*** Script aber alle 3 unterschiedlichen Werte in die erste Variable (unten stehender Script-Schnipsel). Offensichtlich kann das Script nicht damit umgehen, das in einer der drei Ausprägungen statt „L“ oder „R“ ein " " (Leerzeichen) enthalten ist.
Kann mir hier jemand einen Tipp geben wie ich das so hinbiege dass die 3 Ausprägungen erkannt und unterschiedlich behandelt werden?
(ich bin am verzweifeln, such nu schon seit Tagen heul)
case "SB":
$case = substr($data,2,3);
//$case = str_pad( $case, 3, ' ', STR_PAD_LEFT;
echo "Case-Wert = #$case#";
if ($case = 'SBL')
{
$item = "ChannelVolumeSBL";
$vtype = 1;
$itemdata=substr($data,6,2);
echo "itemdata $itemdata /n";
$itemdata = str_pad( $itemdata, 2, 0, STR_PAD_RIGHT);
$value = (intval($itemdata)) -50;
DenonSetValue($item, $value, $vtype);
echo "SBL Wert = $value /n";
}
elseif ($case = 'SBR')
{
$item = "ChannelVolumeSBR";
$vtype = 1;
$itemdata = substr($data,6,2);
$itemdata = str_pad( $itemdata, 2, 0, STR_PAD_RIGHT);
$value = (intval($itemdata)) -50;
DenonSetValue($item, $value, $vtype);
}
elseif ($case = 'SB ')
{
$item = "ChannelVolumeSB";
$vtype = 1;
$itemdata = substr($data,5,2);
$itemdata = str_pad( $itemdata, 2, 0, STR_PAD_RIGHT);
$value = (intval($itemdata)) -50;
DenonSetValue($item, $value, $vtype);
}
break;