Kann mal einer dieses "Array"-Verhalten erklären

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kann mal einer dieses "Array"-Verhalten erklären

    Mein Kollege ist gerade darauf gestoßen:
    PHP-Code:
    $bla 'blubber';
    // Ergib 'b'
    echo $bla['laber']; 
    Was soll das? Und wieso ist das so?

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

  • #2
    Du kannst einzelne String-Zeichen wie Array-Elemente ansteuern. Da du aber einen String angibst, wird der zu int gejugglet, was 0 ergibt. Ist aber auch nichts neues.
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Zitat von unset Beitrag anzeigen
      Du kannst einzelne String-Zeichen wie Array-Elemente ansteuern. Da du aber einen String angibst, wird der zu int gejugglet, was 0 ergibt. Ist aber auch nichts neues.
      Haben wir mittlerweile auch vermutet. War aber keinem(!) von uns bekannt.

      Danke
      Peter

      EDIT:
      das mitt dem echo $bla[0] oder $bla[2] ist uns natürlich bekannt.
      Zuletzt geändert von Kropff; 21.10.2010, 15:44.
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Seid ihr wohl Amateure
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Zitat von unset Beitrag anzeigen
          Seid ihr wohl Amateure
          Das hat nichts mit Amateuren zu tun. Sondern mit Logik. Und wirklich logisch ist das erst Mal nicht. Bei JavaScript hätte mit so was gerechnet. Aber PHP?

          Peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Natürlich ist das nicht logisch, wenn man keine Ahnung davon hat, wie PHP funktioniert. Aber in dem Fall ist man, wie ich ja schon sagte: Amateur
            [FONT="Helvetica"]twitter.com/unset[/FONT]

            Shitstorm Podcast – Wöchentliches Auskotzen

            Kommentar


            • #7
              Zitat von Kropff Beitrag anzeigen
              Bei JavaScript hätte mit so was gerechnet. Aber PHP?
              Gerade bei JavaScript dürfte sowas aber nicht passieren.
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Zitat von wahsaga Beitrag anzeigen
                Gerade bei JavaScript dürfte sowas aber nicht passieren.
                Stimmt. Aber bei der Sprache rechne ich mit allem.

                Peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Zitat von Kropff Beitrag anzeigen
                  Stimmt. Aber bei der Sprache rechne ich mit allem.
                  Ich rechne inzwischen bei PHP auch mit allem. Beispiel:

                  PHP-Code:
                  $a 1;
                  $b 1;

                  var_dump($a + ++$a);
                  // int(4)

                  var_dump($b + ++$b);
                  // int(3) 
                  PHP-Code:
                  $a 1;
                  $b = array(1);

                  var_dump($a + ($a 2));
                  // int(4)

                  var_dump($b[0] + ($b[0] = 2));
                  // int(3) 
                  PHP-Code:
                  $array = array(123);

                  foreach (
                  $array as &$value) {}

                  foreach (
                  $array as $value) {}

                  echo 
                  implode(', '$array);
                  // 1, 2, 2 
                  PHP-Code:
                  error_reporting(-1);

                  set_time_limit(10);

                  $i 0;
                  while (
                  true) {
                        
                  sleep(1);
                        echo ++
                  $i PHP_EOL;    
                        
                  flush();
                  }

                  // Ausgabe:
                  //
                  // 1 2 3 4 5 6 7 8 9 […] 21199 21200 21201
                  //
                  // Fatal error: Maximum execution time of 10 seconds exceeded in /var/www/test.php on line 9
                  // Call Stack
                  // #    Time          Memory    Function     Location
                  // 1    0.0043        612544    {main}( )    test.php:0
                  // 2    21216.6064    613392    sleep ( )    test.php:9 

                  Kommentar


                  • #10
                    hm zumindest das letztere kann man evtl noch verstehen :
                    Since sleep() can be interrupted by signals
                    {usercomments im phpmanual zu sleep}
                    [font=Verdana]
                    Wer LESEN kann, ist klar im Vorteil!
                    [/font]

                    Kommentar


                    • #11
                      Kennt jemand noch mehr davon?

                      Kommentar


                      • #12
                        ein bisschen so ähnlich .. hier im Thread

                        http://www.php.de/php-einsteiger/722...der-genau.html

                        das Verhalten von OR (bzw die Eigenheiten der Operator-Präferenz) ist auch erst auf den 2ten Blick erklärbar
                        Zuletzt geändert von eagle275; 22.10.2010, 12:02.
                        [font=Verdana]
                        Wer LESEN kann, ist klar im Vorteil!
                        [/font]

                        Kommentar

                        Lädt...
                        X