Lori: Kurzform gesucht

Hallo,
ich habe eine Routine, die von mehreren Programmen bei unterschiedlichen Providern verwendet werden.
In den .htaccess habe ich jeweils Definitionen der Art:
SetEnv MyAktSpr de
Die SetEnv-Angabe kann aber auch ganz fehlen oder keinen Wert haben

Abgefragt habe ich bisher so:

// MyAktSpr nicht definiert oder ohne Wert => $suffix = 'de',
// sonst wie angegeben
if (!isset($_SERVER['MyAktSpr']))
  $suffix = 'de';
else
  {
   $suffix = trim($_SERVER['MyAktSpr']);
   if ($suffix == '')
     $suffix = 'de';
  }

Jetzt aber liefert ein Provider (ich könnte ihn verfluchen) den Wert in der Variablen REDIRECT_MyAktSpr.
Um dennoch eine Routine verwenden zu können, muss ich nund viele weitere Bedingungen integrieren.
Wie das geht ist nicht mein Problem.
Aber ich glaube, dass obiges Konstrukt schon einfacher gehen müsste.
Wie aber kann man auf kurze Weise das Problem hinschreiben.
Es ist also  $_SERVER['MyAktSpr'] oder  $_SERVER['MyAktSpr'] oder keines von beiden definiert.

  1. Jetzt aber liefert ein Provider (ich könnte ihn verfluchen) den Wert in der Variablen REDIRECT_MyAktSpr.

    Es ist also  $_SERVER['MyAktSpr'] oder  $_SERVER['MyAktSpr'] oder keines von beiden definiert.

    Hi,

    also entweder verstehe ich Dein problem nicht oder Du hast etwas falsch notiert?

    Davon ab, wo ist das Problem?

    Mit empty() trim() und isset() ist das doch ganz easy?

    Du fragst ab, welche Variable bei Dir ankommt, falls keine, setzt Du Deine eigenen Spracheinstellungen, falls eine von beiden gestzt und nicht leer ist, nimmst Du die.

    Tec

    1. also entweder verstehe ich Dein problem nicht oder Du hast etwas falsch notiert?

      Davon ab, wo ist das Problem?

      Mit empty() trim() und isset() ist das doch ganz easy?

      Du fragst ab, welche Variable bei Dir ankommt, falls keine, setzt Du Deine eigenen Spracheinstellungen, falls eine von beiden gestzt und nicht leer ist, nimmst Du die.

      Wie das Thema schon sagt: Kurzform gesucht
      Die umständliche Lösung ist klar, wie ich geschrieben hatte.
      Nur gefallen mir die vielen notwendigen und verschachtelten  IFs/or nicht.

      1. Wie das Thema schon sagt: Kurzform gesucht
        Die umständliche Lösung ist klar, wie ich geschrieben hatte.
        Nur gefallen mir die vielen notwendigen und verschachtelten  IFs/or nicht

        Du kannst ja problemlos mehrere Bedingunen in eine Abfrage packen. Falls das noch nicht genügt, kannst du den trim&empty-Teil mit einem regulären Ausdruck abkürzen und erhälst ungefähr folgendes:
        $suffix = (isset($_SERVER['MyAktSpr']) && preg_match("\S",$_SERVER['MyAktSpr'])) ? $_SERVER['MyAktSpr'] : 'de';
        (ungestestet)

        1. Danke,

          $suffix = (isset($_SERVER['MyAktSpr']) && preg_match("\S",$_SERVER['MyAktSpr'])) ? $_SERVER['MyAktSpr'] : 'de';

          Ist in php gewährleistet, dass die mit && verknüpften Bedingungen in der obigen Reihenfolge abgefragt werden?
          Es gibt Sprachen, wo bei der Verarbeitung die Reihenfolge willkürlich ist.
          Gruß
          Lori

          1. Ist in php gewährleistet, dass die mit && verknüpften Bedingungen in der obigen Reihenfolge abgefragt werden?

            http://php.net/manual/de/language.operators.precedence.php

            Es gibt Sprachen, wo bei der Verarbeitung die Reihenfolge willkürlich ist.

            Beispiele?

          2. Ist in php gewährleistet, dass die mit && verknüpften Bedingungen in der obigen Reihenfolge abgefragt werden? IF-Schleifen, wo ist das Problem?

            Warum so kompliziert?
            Kopiere Deine $_SERVER['Redirect_MyAktSpr'], falls vorhanden in Deine $_SERVER['MyAktSpr'] und laß alles beim alten, auer, dass Du die Bedingun gen zusammenfasst. Dann hast Du genau 2 IF-schleifen.