If Abfrage mit ungefähr wie

Gib mir eben 5 mins dann editier ich dir hier in den Post den Code...

PHP:
if (preg_match("/017/", $telnumber) || preg_match("/016/", $telnumber))
{
echo "Handynummer";
}
else
{
echo "keine Handynummer";
}

Korrigiert mich wenns falsch ist. Nur die Problematik ist hier wenn eine Nummer lautet 07210174 oder so...

Mit ereg gehts auch so, dass es am Anfang steht:

PHP:
if (ereg("^017", $telnumber); == "true" || ereg("^016", $telnumber); == "true")
{
echo "Handynummer";
}
else
{
echo "keine;"
}

Lest euch doch mal die Funktionsbeschreibungen durch wenn man euch hilft, ich kannte die Funktion auch nicht. Ihr seit einfach zu faul
 
Zuletzt bearbeitet:
ereg is langsamer etc.
bei preg_match geht auch sowas: /^01[67]/
Aber wie ich schon sagte zu regex gibts hier auf Tutorials ein Tutorial.
 
Also mit preg_match klappt es wie du sagts halt mit der Einschränkung, dass 017 nicht nur am Anfang drinstehen kann.

Mit ereg bekomme ich nur false keine trues also keine Handynummern

Aber schonmal dankeschön für eure Mühe
 
Dann Probier es mal mit

PHP:
if (preg_match("/^017/", $telnumber) || preg_match("/^016/", $telnumber))
{
echo "Handynummer";
}
else
{
echo "keine Handynummer";
}

Das müsste dann ja laut Sicaine auch funktionieren...
 
Habe es jetzt so gemacht:

PHP:
1<? 	
2	
3	
4	$post = $_POST['area'];
5	$area = explode("\n", $post);
6	
7	
8	
9	echo '<table border="1">';
10	echo '<tr>';
11	echo '<td>Datum</td>';
12	echo '<td>Nummer</td>';
13	echo '<td>Dauer</td>';
14	echo '<td>Preis</td>';
15	echo '</tr>';
16	
17	foreach($area as $a){
18	$b = explode(" ", $a);
19	echo '<tr>';
20	if(isset($b[1])){
21	echo '<td>'.$b[1].'</td>';
22	}
23	if(isset($b[3])){
24	echo '<td>'.$b[3].'</td>';
25	}
26	if(isset($b[6])){
27	echo '<td>'.$b[6].'</td>';
28	}
29	
30	
31	if(isset($b[6])){
32	$dauermin = explode(":", $b[6]);
33	$hour = $dauermin[0] * 60;
34	$min = $dauermin[1] + $hour;
35	
36	
37	$num = $b[3];
38	
39	
40	if(preg_match("/^01[67]/", $num)){
41	
42	$euro = ($min * 19)/100;
43	echo '<td>'.$euro.'</td>';
44	}
45	else {
46	$euro = ($min * 1)/100;
47	
48	echo '<td>'.$euro.'</td>';
49	}
50	}
51
52	echo '</tr>';
53	}
54	
55	
56	
57	
58	echo '<table>';
59	
60	
61	
62?>

Ich will jetzt die in Zeile 42 und Zeile 46 errechneten Arrays $euro aufssummieren, so dass ich am Ende einen Rechnungsbetrag habe.
Ich habe aber keine idee wie das gehen soll, da das ja in einer foreach schleife steckt.
Ich will ja jedes Ergebniss zu einem Gesamtbetrag ausrechnen.

Habt ihr ne Idee?
 
Zuletzt bearbeitet:
Du hast nur keine Arrays in deinem Code.

Schau dir das mal an:

http://de.php.net/types.array

Oder:
Speicher doch in einer "Zwischenvariable" die Summe in jeder Schleife und addiere die neuen Werte dazu, das wird wohl das einfachste sein...
 
Ich meine das $euro, welches in jeder Schleife steht. Es hat den Wert des Preises für das geführte Telefonat, welches zu der Schleife gehört.
Wie soll ich das denn immer zwischenspeichern?
Wenn ich sage z.b. $speicher = $euro + $euro klappt das ja nicht
Ich will ja aus jeder Runde die die Schleife durchläuft das $euro quasi festhalten und aufsummieren.
 
Vor der schließenden } der foreach-Schleifen machst du
$summe = $summe + $euro

Das wars, soweit ich das richtig sehe?!

edit: vor der for-schleifen am besten noch $summe = 0; Muss man in Java, weiß nich wie das mit PHP ist :)
 
Zurück