tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
10
ZUGRIFFE
777
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    si031006 si031006 ist offline Mitglied Bronze
    Registriert seit
    Dec 2006
    Beiträge
    28
    Hi!

    Mein Problem ist folgendes:
    Ich bekomme ein zweidimensionales Array von einem VB Programm. Dieses wird als Variant Datentyp geliefert. Unter Perl konnte ich das ganze wunderbar auswerten mit folgender Zeile:

    my @keys=@{$result->[0]};
    Wobei @keys jetzt das element der ersten Dimension ist (denke mal das heißt so). Kann ich diese Zeile irgendwie auch in PHP einbauen? Wenn ich das auf diese Art versuche gibts leider nur immer eine fehlermeldung vom Typ:
    Variant has no properties

    Danke
     

  2. #2
    Avatar von hikeda_ya
    hikeda_ya hikeda_ya ist offline Mitglied Brokat
    Registriert seit
    Dec 2005
    Beiträge
    407
    Zitat Zitat von si031006 Beitrag anzeigen
    Hi!

    my @keys=@{$result->[0]};


    Danke
    versuche es mal mit
    PHP-Code:
    $variable $_REQUEST['vb variable'];

    oder

    foreach ($_REQUEST['vb variable'] as $key => $variable) {

    echo 
    "dein Array wird ausgegeben mit $variable";

     
    gezeichnet
    hikeda_ya


    guggenmusik

  3. #3
    si031006 si031006 ist offline Mitglied Bronze
    Registriert seit
    Dec 2006
    Beiträge
    28
    Danke mal, ich hab das mal probiert und bekomme jetzt folgende Fehlermeldung:
    Can only handle single dimension variant arrays (this array has 2)

    Und vielleicht sollte ich auch eine genauere Beschreibung angeben:
    Also ich versuche hier ein Programm webtauglich zu machen, wobei der einzige Zugang über die COM-Schnittstelle von Windows funktioniert. Alles klappt eigentlich auch ganz gut, allerdings gibt es da einen Befehl, der eben ein zweidimensionales Array zurückgibt. Der Aufruf sieht ungefähr so aus:
    $result=$ProgrammObject->QueryFetch(1,$test,3,.....);
    Der Typ von $result ist ein Variant und stellt das zweidimensionale Array dar. Ich hab jetzt deinen Code folgendermaßen eingefügt:
    foreach ($result as $key => $variable) {
    echo "dein Array wird ausgegeben mit $variable";
    }
    Dabei kriege ich oben genannte Fehlermeldung. Ich denke mal es liegt an meiner falschen Änderung des Befehls, aber ich weiß ehrlich gesagt nicht ganz wie ich diesen Befehl jetzt anpassen soll für meine Verhältnisse...

    mfg
     

  4. #4
    soyo soyo ist offline Mitglied Brillant
    Registriert seit
    Apr 2006
    Beiträge
    794
    Ich kenne mich zwar mit Variant nicht aus, hört sich aber recht interessant an und hab folgendes gefunden: Variant Manual auf php.net , vielleicht ist da was brauchbares dabei, ich denke die COM-Funktionen dürften auch recht hilfreich sein.
     

  5. #5
    si031006 si031006 ist offline Mitglied Bronze
    Registriert seit
    Dec 2006
    Beiträge
    28
    Danke, hab ich auch schon mal durchgelesen. Von dort kam ich auf den Perl Code, aber bei PHP funkt das irgendwie nicht so. Leider hab ich auch keine Idee wie ich das umschreiben könnte. Im Moment lös ich das so, das ein Externes Programm aufgerufen wird (mit exec) und die Ausgabe (also das Array) wieder gespeichert wird. Schöner wärs jedenfalls wenn es gleich funktionieren würde in PHP (vor allem weil die Scripte erheblich schneller laufen als mit MODPerl)...
     

  6. #6
    Avatar von hikeda_ya
    hikeda_ya hikeda_ya ist offline Mitglied Brokat
    Registriert seit
    Dec 2005
    Beiträge
    407
    das ist jetzt nicht getestet - da ich mich mit vb auch nicht so gut auskenne

    aber versuch es mal so

    PHP-Code:
    foreach ($_REQUEST['vb variable'] as $erste_dimension => $ergebnis  {
           foreach (
    $ergebins as $zweite_dimension => $ergebniss2) {

    echo $.
    erste_dimension." ".$zweite_dimension.'<br />';
    }      } 
     
    gezeichnet
    hikeda_ya


    guggenmusik

  7. #7
    si031006 si031006 ist offline Mitglied Bronze
    Registriert seit
    Dec 2006
    Beiträge
    28
    Naja, vielleicht um etwas deutlicher zu werden:
    $result->[0] funktioniert unter PHP nicht. PHP meint das Variant hat keine Properties. Irgendwie müsste ich das schon mal in PHP zum laufen kriegen, leider weiss ich nicht wie...

    Somit beschränkt sich das Problem eigentlich schon darauf, das ich nicht wirklich weiss wie man in PHP auf die erste bzw. zweite Dimension überhaupt kommt...
     

  8. #8
    Avatar von Kahmoon
    Kahmoon Kahmoon ist offline Mitglied Platin
    Registriert seit
    Dec 2003
    Ort
    München
    Beiträge
    527
    wie wärs mit
    PHP-Code:
    $i 0;

    foreach (
    $_REQUEST['vb variable'] as $key

      print 
    $key[$i]; 
      
    $i++;

     

  9. #9
    si031006 si031006 ist offline Mitglied Bronze
    Registriert seit
    Dec 2006
    Beiträge
    28
    Hab ich schon probiert, bekomme dabei aber die Meldung:
    Can only handle single dimension variant arrays (this array has 2)

    Leider weiss ich nicht wirklich was ich dagegen machen kann. Beim Aufruf mit $_REQUEST['vb variable'][0] geht gleich gar nichts mehr (denke mal die Zeiger wandern hierbei irgendwo ins Nirvana)....
     

  10. #10
    Avatar von Kahmoon
    Kahmoon Kahmoon ist offline Mitglied Platin
    Registriert seit
    Dec 2003
    Ort
    München
    Beiträge
    527
    auch schon mit dem Zähler für die zweite Dimension getestet?

    Komisch das von Hand
    PHP-Code:
    $_REQUEST['vb variable'][0
    nicht geht...
     

  11. #11
    si031006 si031006 ist offline Mitglied Bronze
    Registriert seit
    Dec 2006
    Beiträge
    28
    Leider ja...
     

Ähnliche Themen

  1. c# zweidimensionales array
    Von xlon im Forum .NET Windows Forms
    Antworten: 12
    Letzter Beitrag: 26.02.10, 08:21
  2. [perl] Vorhandes Array [Name;Vorname/n] in zweidimensionales Array splitten
    Von FlockY im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 3
    Letzter Beitrag: 31.08.09, 18:53
  3. Problem mit zweidimensionales Array
    Von angelikamorgan im Forum PHP
    Antworten: 3
    Letzter Beitrag: 18.04.06, 14:25
  4. Zweidimensionales Array
    Von crazyPower im Forum PHP
    Antworten: 2
    Letzter Beitrag: 04.07.05, 16:03
  5. [c++] zweidimensionales dynamisches array
    Von andreas_gierisch im Forum C/C++
    Antworten: 34
    Letzter Beitrag: 22.10.04, 14:22