Zahlen als Array und Zeichen als Array berechnen

Hallo,

ich habe verschiedene Zahlenfolgen wie z.b:
52413, 52341

und dazu 4 operatoren, die zwischen die Zahlen sollen.

Beispiel:
$operatoren= array(„*“,„+“,„-“,„-“);
$zahlen = array(„5,2,4,1,3“, „5,2,3,4,1“);

nun soll jeweils ein operator zwischen 2 zahlen geschrieben werden und das ergebnis berechnet werden.

Mein Ansatz dazu:

<?
$operatoren= array("*","+","-","-");
$zahlen = array("5,2,4,1,3", "5,2,3,4,1");

foreach($zahlen as $zahl) {
    $zahl = explode(",", $zahl);

    for($i=0; $i < sizeof($zahl); $i++) {
        $ergebnis = $zahl[$i].$operatoren[$i];
    }
    echo $ergebnis."<br>";
}
?>

Leider stimmt das Ergebnis leider nicht:
bei zahlen[0] müsste „10“ und bei zahlen[1] müsste „8“ rauskommen.

Mein $ergebnis gibt aber bei zahlen[0] „3“ und bei zahlen[1] „1“ aus…

Wo habe ich hier einen Denkfehler?
Es sollen in zukunft nur die operatoren getauscht werden.

irgendwie kapier ich gerade nicht wie bei $zahlen[1] = 8 raus kommen soll.
Willst du zuerst alle Zahlen multiplizieren und dann alle zahlen addieren.

Also hier habe ich eine unsaubere Lösung wenn
5*2
2+4
4-1
1-3

berechnet werden soll

[PHP]
$operatoren= array(„*“,„+“,„-“,„-“);
$zahlen = array(„5,2,4,1,3“, „5,2,3,4,1“);

foreach($zahlen as $zahl) {
$zahl = explode(„,“, $zahl);

for($i=0; $i < sizeof($zahl)-1; $i++) {
$ergebnis = $zahl[$i].$operatoren[$i].$zahl[$i+1];
eval('echo ’ . $ergebnis . ‚;‘);
echo „
“;
}
}
[/PHP]

eval ist nun da, weil du keine Strings berechnen kannst.

Ergebnis:
10
6
3
-2
10
5
-1
3

Wenn du das erste nimmst sollte die Rechnung wie folgt sein:

$operatoren= array(„*“,„+“,„-“,„-“);
$zahlen = array(„5,2,4,1,3“, „5,2,3,4,1“);

5*2+4-1-3

Diesen berechneten Wert (1) soll er ausgebnen

Ich hab es nun raus, aber ist etwas schwer zu erklären für mich gerade :smiley:

[PHP]
$operatoren= array(„*“,„+“,„-“,„-“);
$zahlen = array(„5,2,4,1,3“, „5,2,3,4,1“);

foreach($zahlen as $zahl) {
$zahl = explode(„,“, $zahl);

foreach($zahl as $ziffer) {
$ergebnis = NULL;
for($i=0; $i < sizeof($zahl); $i++) {
$ergebnis .= $zahl[$i].$operatoren[$i];
}
}

eval('echo ’ . $ergebnis . ‚;‘);
echo „
“;
}
[/PHP]

Danke funktioniert perfekt…

Nun möchte ich den Aktuellen Tag über

$tag = date("j", time());

ermitteln und den Eintrag sowie die Position im array bestimmen und ausgeben

das müsste ja mit array_search gehen oder?