• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Zahlenreihe mit Hilfe einer Schleife auslesen

max1-3

New member
Hallo!

Mit dem folgenden php-Script können aus einer längeren Zahlenreihe Werte ausgelesen werden. Im Beispiel nehme ich "$matches[36];" - also wird nur der 36. Wert herausgefiltert. Das funktioniert auch soweit. Allerdings möchte ich mit einer Schleifenfunktion nacheinander alle Werte auslesen. Wie könnte man das bewerkstelligen? Danke, falls eine Lösung möglich ist! :icon7:

<?PHP
function convert35($returnValue) {
if (preg_match("/^([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*([\d\.]+)\s*/", $returnValue, $matches)) {
$returnValue=$matches[36];
}
return $returnValue;
}
?>
 
1. Du bist im falschen Forum -> verschieb' ich gleich.
2. Mir ist nicht so recht klar, was du machen willst
3. Dieser reguläre Ausdruck scheint mir etwas suboprimal (v.A. unübersichtlich) zu sein; es gibt auch die Funktion explode().
 
PHP:
<?php
$matches = array();
foreach(explode(' ', $returnValue) AS $number) {
    $matches[] = $number;
}
?>
oder falls du tatsächlich nach \s trennen willst (auch wenn leerzeichen zu genügen scheint):
foreach(preg_split('/\s+/', $returnValue) AS $number) ...


beide dieser ansätze funktionieren im gegensatz zu deiner lösung mit beliebig langen ketten
 
Zuletzt bearbeitet:
Leuchtet mir allmählich ein und scheint auch die Lösung zu sein! Vielen Dank!
Aber wie kann ich das in eine function (convert oder was auch immer) einbauen, so dass mir nur ein bestimmter Wert zurückgegeben wird?
 
Zuletzt bearbeitet:
Zurück
Oben