• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

nur einige elemente eines Arrays ausgeben

Status
Für weitere Antworten geschlossen.

MisanthropX

Neues Mitglied
hi ich bin was php noch ziemlich neu dabei..
ich habe ne frage was arrays betrifft:
ist es möglich mehr als nur 1 array element auszugeben ohne Xmal echo: $daten[0] $daten[1]; etc einzutippen? und ohne if /foreach oder sonstige schleifen?

vielen dank im vorraus
mfg MisanthropX
 
Nabend,

naja, eine foreach-Schleife ist ja dazu gedacht mit jedem Element eines Arrays das gleiche zu machen.
Warum willst du also keine Schleife nehmen?

Das einzige was mir da noch einfiele wäre implode().
Beispiel:
PHP:
$array = array("Bla","bli","blub");
echo implode(", ",$array);
Erzeugt
Code:
Bla, bli, blub
Gruß
Voodoo
 
keine schleife: weil ich den quelltext ziemlich klein halten will da es schon so schon zu groß is und ich nicht jedesmal die schleife einbinden will.

aber implode das gibt ja wieder das ganze array aus?
 
Also soweit ich weiß, muss man dass immer wieder durchlaufen lassen, warum sollte es auch anders gehen? Und warum macht es einen Unterschied ob du nun
PHP:
<?
foreach ($array as $value) {
    if($value == $xyz){
        echo "Wert:  $value<br />\n";
    }
}
?>
oder
PHP:
<?
deine_komische_ersatzfunktion($array,kontrollbedingung);
?>
Kannst dir doch so eine Funktion selber basteln?!
PHP:
<?
function arrayausgabe($array,$kontrolle) {
    foreach ($array as $value) {
        /*Hier muss natürlich noch irgendwas rein, welches die
Kontrollbedingung aufarbeitet*/
        if($value == $kontrolle){
            echo "Wert:  $value<br />\n";
        }
    }
}
?>
MfG
 
Zuletzt bearbeitet:
o.o das fängt dann aber immer wieder an von vorne an zu zählen?

ich möchte z.b. an einem punkt array element 5-10 ausgeben und an einem anderem 41-48 etc o.o is das möglich
 
PHP:
<?
function arrayausgabe($array,$arrkeyklein,$arrkeygros) {
    foreach ($array as $key => $value) {
        if($key >= $arrkeyklein AND $key <= $arrkeygroß){
            $rueckgabe .= "Wert:  $value<br />\n";
        }
    }
    return $rueckgabe;
}
$testarray=new array();
$keyklein = 10;
$keygros = 20;
//Aufruf denn über
$ausgabe = arrayausgabe($testarray,$keyklein,$keygros);
echo $ausgabe;
?>
Wenn du natürlich aus einem Array wert 1-5 und 10-12 und noch welche haben willst, denn lohnt sich eine Funktion kaum noch, meines erachtens, oder du rufst du funktion 2 mal auf. Willst du nur den Wert an Stelle 15 haben, denn musst du bei keyklein und keygros 15 eintragen.
 
Zuletzt bearbeitet:
Hallo,

@hdjtev: Dafür ist die foreach Schleife weniger geeignet.

Besser eignet sich hier die for-Schleife:
PHP:
for($i = untergrenze; $i < obergrenze; $i++) {
  // Beachten, dass i das (i - 1) Element im Array adressiert.
  ... $array[$i] ...
}

Man kann in der for-Schleife auch Werte überspringen, indem man $i im Schleifenrumpf verändert.


N43
 
ein problem wirst du nur bekommen wenn du keinen numerischen index hast
 
Stimmt, dafür ist for besser... War so auf foreach konzentriert, weil die Frage darauf abzielte, dass ich den anderen (besseren) möglichkeiten ganz außer Acht gelassen habe... OK aber die Beste Lösung is ja nun gefunden :-D
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben