Shrynk: (PHP) Array an Funktion übergeben und zurück

Folgendes Problem (PHP):
Ich will ein Array an eine Funktion übergeben und nach anschliessender
Manipulation dessen per return-Anweisung zurückgeben.
(Die Manipulation spielt hier keine Rolle, da ich Sie zu Testzwecken auskommentiert habe)

Hier ein Beispielcode:

<?php

$give = array('a','b');

function do($gave) {
  //return count($gave); <-- Funnktioniert
  return $gave[0];  <-- Funktioniert nicht
}

echo do($give);

?>

Lasse ich mir die Anzahl der Elemente des übergebenem Array's zurückgeben, so erhalte ich korrekterweise 2.
Lasse ich mir jedoch ein Element des Array zurückgeben,
wird mir nichts ausgegeben.
Woran liegt es,dass ich zwar die Anzahl der Elemente erhalte,
aber nicht auf die Elemente selbst zugreifen kann?

  1. Moin!

    <?php  
     $give = array('a','b');  
     function doit($gave) {  
       return $gave[0];  
     }  
    print doit($give)."\n";  
    print_r (doit($give));  
    print "\n";  
    ?>  
    
    

    ~> php test.php
    a
    a
    ~>

      
     geht doch...  
      
    MFFG (Mit freundlich- friedfertigem Grinsen)  
      
    fastix®  
    
    -- 
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: [Schulungen](http://seminar-training-schulung.de/), [Seminare](http://seminar-training-schulung.de/), [Training](http://seminar-training-schulung.de/), [Development](http://webdesign.fastix.de/)
    
    1. Moin!

      Möglicherweise lag es an dem von Dir gewählten Funktionsname 'do'. Du kannst dieses Schlüsselwort nicht mit einer eigenen Funktion überladen.

      MFFG (Mit freundlich- friedfertigem Grinsen)

      fastix®

      --
      Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development
      1. Moin!

        Möglicherweise lag es an dem von Dir gewählten Funktionsname 'do'. Du kannst dieses Schlüsselwort nicht mit einer eigenen Funktion überladen.

        Nein nein...war nur n konkretes Bsp.,lag an meiner Array-Zuweisung!
        war falsch...die grössten Probleme entstehen durch simpelste Fehler...
        trotzdem thx

        MFG Shrynk

    2. MFFG (Mit freundlich- friedfertigem Grinsen)

      Ja...ich hab einen Fehler gemacht und gefunden...nach ca. 50 000 Wutanfällen...trotzdem Danke...könnt mir echt selbst in den Hintern treten, wenns ginge...nunja...damit 'n breites Grinsen und entschuldigung für alle, die sich nun diesen Post anschauen...
      ist gelöst )))..das da oben funktioniert!

      1. entschuldigung für alle...

        oO...ahem...an alle ;)

  2. Hallo Shrynk,

    ich würde erstmal vorschlagen, error_reporting() auf E_ALL oder E_STRICT zu stellen, um eventuelle Fehler/Warnungen angezeigt zu bekommen.

    $give = array('a','b');

    function do($gave) {
      //return count($gave); <-- Funnktioniert
      return $gave[0];  <-- Funktioniert nicht
    }

    echo do($give);

    Woran liegt es,dass ich zwar die Anzahl der Elemente erhalte,
    aber nicht auf die Elemente selbst zugreifen kann?

    Ich sehe an sich keinen Grund, warum das nicht funktionieren sollte, schau also mal, ob Du vielleicht irgendwelche Warnings bekommst.

    Grüße aus Stockholm,
    Götz

    --
    Losung für Mittwoch, 6. Februar 2008
    Wenn du nun isst und satt wirst, so hüte dich, dass du nicht den HERRN vergisst. (5.Mose 6,11-12)
    Ob ihr nun esst oder trinkt oder was ihr auch tut, das tut alles zu Gottes Ehre. (1.Korinther 10,31)
    (aktuelle Losung)
  3. Moin!

    fastix@trainer:~> cat test.php

    <?php  
      
     $give = array('a','b');  
      
     function doit($gave) {  
      
       return $gave[0];  
     }  
      
     # echo doit($give);  
     print doit($give)."\n";  
     print_r (doit($give));  
     print "\n";  
      
     function doit2($gave){  
       return $gave;  
     }  
     print_r (doit2($give))."\n";  
      
    ?>
    ~~~~~~sh
      
    fastix@trainer:~> php test.php  
    a  
    a  
    Array  
    (  
        [0] => a  
        [1] => b  
    )  
    fastix@trainer:~>
    

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Seminare, Training, Development