SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten
Hilfe Community Kalender Heutige Beiträge Suchen

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 15.04.2003, 18:05:06
InCuBuS InCuBuS ist offline
Anfänger
 
Registriert seit: Apr 2003
Ort: n. Magdeburg
Beiträge: 17
InCuBuS eine Nachricht über ICQ schicken
durchaus nicht lächerlich und sollte schon berücksichtigt werden !
Die Masse machts an auszuführendem code und benutzern !
Tu das bitte net so einfach zur Seite und schau es dir einfach ma an ! Ich selber halte sehr sehr viel von den Leuten die hinter BlueShoes stecken und ich kann nur bestätigen , die haben AHnung
Mit Zitat antworten
  #12  
Alt 15.04.2003, 18:37:17
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ich will Dich ja nicht unglücklich machen, aber teste mal selber das folgende Skript:
PHP-Code:
<?php
set_time_limit
(0);
$fh=file("user.txt");

$count_f=0;
for (
$i=0$i<1000$i++)
 {
  
$start=microtime();
  foreach (
$fh as $handle)
   { 
$check explode('|'$handle); }
  
$count_f+=microtime()-$start;
 }

$count_w=0;
for (
$i=0$i<1000$i++)
 {
  
$start=microtime();
  
$j=0;
  while (
$j<count($fh))
   { 
$check explode('|'$fh[$j]); $j++; }
  
$count_w+=microtime()-$start;
 }

echo 
"Durchschnitt for: ".($count_f/1000)."<br>n";
echo 
"Durchschnitt while: ".($count_w/1000)."<br>n";
echo 
"<br><br><b>Fertig.</b>";
exit;
?>
Bei mir gibt er das aus:
Code:
Durchschnitt for: 0.000321167
Durchschnitt while: 0.000198586


Fertig.
Testen kannst Du es auch hier: foo.php - der Glaubwürdigkeit wegen empfehle ich natürlich das Skript auf einem eigenen Server zu testen.

Die user.txt enthält übrigens den folgenden Text:
Code:
heuteiger Name|Alter von morgen
Und das 1000 langweilige Zeilen lang.


Ich hab übrigens mal gelernt, dass for-Schleifen möglichst gemieden werden sollten, da sie im Schnitt langsamer sind. Warum weiß ich nicht, aber mein Test hat mir endlich mal gezeigt, dass dem wirklich so ist.


Edit: Bei mehreren Versuchen schwankt der Vorsprung von while gegenüber for zwar fleißig, aber er bleibt.
Mir ist nur nicht wirklich klar, wie negative Werte möglich sind...
__________________
sic!
--> http://dbCF.de/

Geändert von ­c­4­ (15.04.2003 um 18:40:04 Uhr)
Mit Zitat antworten
  #13  
Alt 15.04.2003, 19:32:49
InCuBuS InCuBuS ist offline
Anfänger
 
Registriert seit: Apr 2003
Ort: n. Magdeburg
Beiträge: 17
InCuBuS eine Nachricht über ICQ schicken
Wenn meinst bei mir erhält while zum teil werte von 1.646E-005
Mit Zitat antworten
  #14  
Alt 15.04.2003, 19:39:04
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Da merkst Du mal, wie schnell das mit while() ist - fertig, bevor es angefangen hat! :)
Nee, keine Ahnung, wieso das manchmal passiert.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #15  
Alt 16.04.2003, 11:20:26
Benutzerbild von schrempman
schrempman schrempman ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 43
aktuell hab ich folgenden code

user.txt:

john#15
Luise#34
john2#11
maren#25


die daten werden wie folgt eingetragen $name#$altern

test.php

PHP-Code:
<?
$user="john";
$alter="15";

$file = file("user.txt");
foreach($file as $handle) {
    $check = explode('#', $handle);
    if (($check[0] == $user) && ($check[1] == $alter)) {
        echo'ok';         
    } else {
        echo'fuck';
    }
}
?>
allerdings bekomm ich wieder nur den else zweig ...
__________________
it's just a dream....
Mit Zitat antworten
  #16  
Alt 16.04.2003, 17:49:32
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Schreib statt
$check = explode('#', $handle);
mal
$check = explode('#', trim($handle));

Das Problem war, dass bei dem Alter noch die Zeilenumbruchsinformationen dran klebten. Somit war der Teil hinter dem # niemals bloß 15.
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #17  
Alt 16.04.2003, 19:23:16
Benutzerbild von schrempman
schrempman schrempman ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 43
k

Stimmt das war das problem @big thx.
Allerdings wurde es durch den trim tag nicht gelöst.
Darum habe ich einfach noch ne redundante angabe hinter das alter gehängt name#alter#0 .


Es klingt zwar komisch aber ein Fehler verbleibt noch.
Die Schleife läuft nur einmal durch. Ich bekomm immer den Wert von dem ersten Datensatz. Er soll allerdings alle überprüfen und nicht nur den ersten.

Sieht jemand von euch den Fehler?
__________________
it's just a dream....
Mit Zitat antworten
  #18  
Alt 16.04.2003, 19:26:35
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Also ich hatte das Skript selber getestet und da lief es brav alle Einträge durch. Da kann es doch eigentlich nur sein, dass die gbuch.txt nur noch eine Zeile enthält... Hast Du irgendwo ein break reingemacht?
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
  #19  
Alt 16.04.2003, 19:57:37
Benutzerbild von schrempman
schrempman schrempman ist offline
Anfänger
 
Registriert seit: Jan 2003
Beiträge: 43
Die user.txt enthält mehrere Einträge, genau diese hier

john#15#0
Luise#34#0
john2#11#0
maren#25#0

ich bekomm jedesmal nur john und 15 ausgegeben.....also die else schleife..


PHP-Code:
<?
$user="john2";
$alter="11";

$file = file("user.txt");
foreach($file as $handle) {
    $check = explode('#',trim($handle));
    if($check[0]==$user && $check[1]==$alter) {
        echo'ok';         
    } else {
        echo''.$check[0].''.$check[1].'fuck';
    }
}
?>
ich habe nirgends ein break verwendet, irgendwie kommt mir die ganze sache komisch vor.
__________________
it's just a dream....
Mit Zitat antworten
  #20  
Alt 16.04.2003, 20:11:42
c4 c4 ist offline
SELFPHP Guru
 
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
Ich will Dich nicht unglücklich machen, aber bei mir geht es 1a. Startest Du vielleicht die falsche Datei?? Ist jedem schon mal passiert...
__________________
sic!
--> http://dbCF.de/
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 23:24:32 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt