tutorials.de Buch-Aktion 05/2012
Seite 1 von 3 123 LetzteLetzte
ERLEDIGT
JA
ANTWORTEN
35
ZUGRIFFE
791
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Alice Alice ist offline Mitglied Brillant
    Registriert seit
    Mar 2010
    Beiträge
    882
    Hallo. Bitte nicht böse werden aber ich verstehe das mit den Arrays nicht so richtig. Ich weiss zwar im Kopf wie es abläuft, kann es aber nicht umsetzen.

    PHP-Code:
    $var   'BMW';
    $pfad './images/sig/';
    $format '.png';

    $var_array = array(
                                   
    'Pfad'       => $pfad,
                                   
    'Eingabe' => $var,  
                                   
    'Format'   => $format
                                 
    );

    for(
    $j=0$j 1; ++$j){ 
       
    $new_var $var_array[Pfad].$var_array[Eingabe][$j].$var_array[Format];
    }

    echo 
    "<pre>";
    print_r($new_var);
    echo 
    "</pre>"
    Es wird folgendes ausgegeben:
    PHP-Code:
    Array
    (
        [
    0] => ./images/sig/B.png

    Es soll aber eigentlich folgendes ausgegeben werden:
    PHP-Code:
    Array
    (
        [
    0] => ./images/sig/B.png
        
    [1] => ./images/sig/M.png
        
    [2] => ./images/sig/W.png

    Was mache ich falsch?
     

  2. #2
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    Dann müsste es aber so aussehen:
    Code PHP:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    $var    = 'BMW';
    $pfad   = './images/sig/';
    $format = '.png';
     
    $letters = str_split($var);
    foreach($letters as $i => $letter) {
      $letters[$i] = $pfad . $letter . $format;
    }
     
    echo '<pre>';
    print_r($letters);
    echo '</pre>';
    Ansonsten: ich glaube nicht, dass du das Prinzip von Arrays verstanden hast.
    Alice bedankt sich. 
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  3. #3
    Alice Alice ist offline Mitglied Brillant
    Registriert seit
    Mar 2010
    Beiträge
    882
    Zitat Zitat von einfach nur crack Beitrag anzeigen
    Ansonsten: ich glaube nicht, dass du das Prinzip von Arrays verstanden hast.
    Das glaube ich auch. Ich wünschte ich könnte es.
     

  4. #4
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Hallo bl500,

    in
    Code PHP:
    1
    2
    3
    
    for($j=0; $j < 1; ++$j){ 
       $new_var = $var_array[Pfad].$var_array[Eingabe][$j].$var_array[Format];
    }
    legst Du keinen Array an, sonder eine Variable die bei jedem Schleifendurchlauf immer überschrieben wird.

    Versuch es mal mit:
    Code PHP:
    1
    2
    3
    4
    
    $new_var = array();
    for($j=0; $j < 1; ++$j){ 
       $new_var[] = $var_array[Pfad].$var_array[Eingabe][$j].$var_array[Format];
    }

    Btw, seit wann funktioniert:
    Code PHP:
    1
    
    $var_array[Pfad]
    Ich dachte immer der Index muss als String rein.
    Code PHP:
    1
    
    $var_array['Pfad']

    Gruß
     

  5. #5
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    @Raisch: Das mit den Konstanten als Indizien funktioniert solange die Konstanten nicht definiert sind. PHP gibt in diesem Fall zwar eine Meldung vom Typ NOTICE aus, aber nutzt dann den Namen als entsprechenden Wert. Das Problem darin ist, dass es unsauber ist und dazu führen kann, dass beim nachträglichen Definieren solcher Konstanten Fehler auftreten.
    Alice und Raisch bedanken sich. 
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  6. #6
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Zitat Zitat von einfach nur crack Beitrag anzeigen
    @Raisch: Das mit den Konstanten als Indizien funktioniert solange die Konstanten nicht definiert sind. PHP gibt in diesem Fall zwar eine Meldung vom Typ NOTICE aus, aber nutzt dann den Namen als entsprechenden Wert. Das Problem darin ist, dass es unsauber ist und dazu führen kann, dass beim nachträglichen Definieren solcher Konstanten Fehler auftreten.
    Dann ist ja gut, dann habe ich keine Änderung verschlafen.

    Dank Dir.
     

  7. #7
    Alice Alice ist offline Mitglied Brillant
    Registriert seit
    Mar 2010
    Beiträge
    882
    Zitat Zitat von Raisch Beitrag anzeigen
    $new_var = array();
    for($j=0; $j < 1; ++$j){
    $new_var[] = $var_array[Pfad].$var_array[Eingabe][$j].$var_array[Format];
    }
    Das sieht genau so aus wie ich mir das vorgestellt habe. Ich probiere es direkt mal aus.

    Danke jungs! Ohne euch wäre ich echt aufgeschmissen.
     

  8. #8
    Alice Alice ist offline Mitglied Brillant
    Registriert seit
    Mar 2010
    Beiträge
    882
    Zitat Zitat von Raisch Beitrag anzeigen
    $new_var = array();
    for($j=0; $j < 1; ++$j){
    $new_var[] = $var_array['Pfad'].$var_array['Eingabe'][$j].$var_array['Format'];
    }
    Mit diesem Code (korrigiert) gibt er mir leider nur den ersten Array (B.png) aus.
     

  9. #9
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    @bl500: Hast du mal mein Skript probiert?
    Alice bedankt sich. 
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  10. #10
    Alice Alice ist offline Mitglied Brillant
    Registriert seit
    Mar 2010
    Beiträge
    882
    Zitat Zitat von einfach nur crack Beitrag anzeigen
    @bl500: Hast du mal mein Skript probiert?
    Ja klar! Deins funktiobiert natürlich wie immer problemlos.

    Jedoch wollte ich mein "Magazin" gerne verwenden.
    PHP-Code:
    $var_array = array(
       
    'Pfad' => $pfad,
       
    'Eingabe' => $var,  
       
    'Format' => $format
    ); 
     

  11. #11
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    Dann muss es so aussehen:
    Code PHP:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    
    $var     = 'BMW';
    $pfad    = './images/sig/';
    $format  = '.png';
     
    $vars    = array(
      'Pfad'    => $pfad,
      'Eingabe' => $var,
      'Format'  => $format,
    );
     
    $letters = str_split($vars['Eingabe']);
     
    foreach($letters as $i => $letter) {
      $letters[$i] = $vars['Pfad'] . $letter . $vars['Format'];
    }
     
    echo '<pre>';
    print_r($letters);
    echo '</pre>';
    Alice bedankt sich. 
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  12. #12
    Avatar von Raisch
    Raisch Raisch ist offline extraordinary bit
    Registriert seit
    Aug 2011
    Ort
    Berlin
    Beiträge
    333
    Zitat Zitat von bl5000 Beitrag anzeigen
    Mit diesem Code (korrigiert) gibt er mir leider nur den ersten Array (B.png) aus.
    Ist ja auch klar... wenn da $j < 1 in deiner for steht, das hatte ich übersehen.
    Code PHP:
    1
    2
    3
    4
    5
    
    $new_array = array();
    for ( $j = 0; $j < strlen( $var_array['Eingabe'] ); $j++ )
    {
       $new_array[] = $var_array['Pfad'].$var_array['Eingabe'][$j].$var_array['Format'];
    }

    Gruß
    einfach nur crack bedankt sich. 

  13. #13
    Alice Alice ist offline Mitglied Brillant
    Registriert seit
    Mar 2010
    Beiträge
    882
    @einfach nur crack: Das funktioniert perfekt.

    Danke!

    Edit:

    @Raisch: Dein Code funktioniert auch perfekt.
    Geändert von Alice (07.02.12 um 22:51 Uhr)
     

  14. #14
    Alice Alice ist offline Mitglied Brillant
    Registriert seit
    Mar 2010
    Beiträge
    882
    Hallo.

    Hat jemand eine Idee wie ich das hier eleganter lösen kann?

    PHP-Code:
    $var5 '70CM'// Aus einem Options-Feld ausgewählt

    $f1 $var5;
    $f2 = array("10CM","20CM","30CM","40CM","50CM","60CM","70CM","80CM","90CM","100CM"); // User-Eingabe in CM
    $f3 = array("1000","2000","3000","4000","5000","6000","7000","8000","9000","10000"); // Umrechnung auf PX
    $mwidth str_replace($f2$f3$f1); 
    Ich habe extra ein paar "Optionen" ausgelassen da es sonst zu unübersichtlich wäre.
     

  15. #15
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    Code PHP:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    $var5 = '70CM';
    $replace = array(
      '10CM'  =>  1000,
      '20CM'  =>  2000,
      '30CM'  =>  3000,
      '40CM'  =>  4000,
      '50CM'  =>  5000,
      '60CM'  =>  6000,
      '70CM'  =>  7000,
      '80CM'  =>  8000,
      '90CM'  =>  9000,
      '100CM' => 10000,
    );
    $mwidth = str_replace(array_keys($replace), array_values($replace), $var5);
    Alice bedankt sich. 
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

Ähnliche Themen

  1. WebBrowser Objekt richtig verwenden
    Von tithon im Forum .NET Web und Kommunikation
    Antworten: 0
    Letzter Beitrag: 23.01.12, 19:56
  2. NOT LIKE richtig verwenden
    Von Steusi im Forum Relationale Datenbanksysteme
    Antworten: 13
    Letzter Beitrag: 27.05.09, 15:33
  3. glTexImage2D Richtig verwenden
    Von vrcat im Forum C/C++
    Antworten: 0
    Letzter Beitrag: 13.05.09, 10:46
  4. gnuplot_i interface richtig verwenden
    Von Poolshark im Forum C/C++
    Antworten: 9
    Letzter Beitrag: 24.04.09, 20:29
  5. Sockets richtig verwenden
    Von Nikon the Third im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 16.11.04, 14:19