php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 07-09-2007, 06:04
PHPler
 Registrierter Benutzer
Links : Onlinestatus : PHPler ist offline
Registriert seit: Oct 2003
Beiträge: 250
PHPler ist zur Zeit noch ein unbeschriebenes Blatt
Standard Brauche Hilfe beim Endlosdurchlauf innerhalb eines Arrays

Hallo!

Sagen wir mal, ich habe die Zahlen 0-9 als Array Index:

$arr[0] = 'wert';
$arr[1] = 'wert';
$arr[2] = 'wert';
$arr[3] = 'wert';
$arr[4] = 'wert';
$arr[5] = 'wert';
$arr[6] = 'wert';
$arr[7] = 'wert';
$arr[8] = 'wert';
$arr[9] = 'wert';

Nun lasse ich mir zwei Zahlen zufällig generieren, von denen die erste der Start, und die Zweite die Schrittzahl sein soll. Dabei kommt z.b. 7 und 5 raus, sprich das Script soll bei $arr[7] loslaufen und 5 schritte nach vorne gehen:

$arr[8] = Schritt 1
$arr[9] = Schritt 2
$arr[10] = Schritt 3 (Index existiert nicht)
$arr[11] = Schritt 4 (Index existiert nicht)
$arr[12] = Schritt 5 (Index existiert nicht)

Hier kommt nun das Problem, dass nach 9 kein Index mehr existiert. Also soll das Script vorne wieder anfangen:

$arr[8] = Schritt 1
$arr[9] = Schritt 2
$arr[0] = Schritt 3
$arr[1] = Schritt 4
$arr[2] = Schritt 5

Das soll sowohl vor als auch zurück funktionieren. Wie kriege ich das nun bewerkstelligt?

Danke schonmal
Mit Zitat antworten
  #2 (permalink)  
Alt 07-09-2007, 09:41
RanzigeMilch
 Registrierter Benutzer
Links : Onlinestatus : RanzigeMilch ist offline
Registriert seit: May 2005
Ort: Darmstadt
Beiträge: 757
RanzigeMilch ist zur Zeit noch ein unbeschriebenes Blatt
RanzigeMilch eine Nachricht über ICQ schicken
Standard

wie würdest du es denn mathematisch lösen?
__________________
Die Milch bleibt ranzig!
Mit Zitat antworten
  #3 (permalink)  
Alt 07-09-2007, 09:44
PHPler
 Registrierter Benutzer
Links : Onlinestatus : PHPler ist offline
Registriert seit: Oct 2003
Beiträge: 250
PHPler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das ist eben das Problem! Ich komm partout nicht auf die Lösung (wahrscheinlich weils zu einfach ist)...
Mit Zitat antworten
  #4 (permalink)  
Alt 07-09-2007, 09:50
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

PHP-Code:
$start=7;
$steps=5;

for (
$i 0$i $steps$i++) {
    if (
$start $i count($array)) {
        echo 
$array[$start+$i];
    } else {
        echo 
$array[$start+$i count($array)];
    }

Rückwärts analog.

Du solltest dir aber überlegen, wie du mit dem Offset umgehst - bei 7/5 auch Datensatz 7 ausgeben erspart einigen Ärger mit dem Datensatz 0.
Mit Zitat antworten
  #5 (permalink)  
Alt 07-09-2007, 09:50
st@tic
 Registrierter Benutzer
Links : Onlinestatus : st@tic ist offline
Registriert seit: Mar 2004
Beiträge: 344
st@tic ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sei froh das mir langweilig ist


PHP-Code:
$arr[0] = 'wert0';
$arr[1] = 'wert1';
$arr[2] = 'wert2';
$arr[3] = 'wert3';
$arr[4] = 'wert4';
$arr[5] = 'wert5';
$arr[6] = 'wert6';
$arr[7] = 'wert7';
$arr[8] = 'wert8';
$arr[9] = 'wert9';

$ArrayCount count($arr) - 1;
$Index rand(0$ArrayCount);
$Steps rand(110);

echo 
"Index $Index<br>";
echo 
"Steps $Steps<br>";

for(
$i 0$i $Steps$i++)
{
    if(
$Index $ArrayCount)
    {
        
$Index 0;
    }
    echo 
$arr[$Index] . "<br>";
    
$Index++;
    

Mit Zitat antworten
  #6 (permalink)  
Alt 07-09-2007, 10:20
PHPler
 Registrierter Benutzer
Links : Onlinestatus : PHPler ist offline
Registriert seit: Oct 2003
Beiträge: 250
PHPler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hab die Lösung nun gefunden:

PHP-Code:
$j 7// start
$y 5// Schritte
for($i $y$i 0$i--) {
  if(
$j == 0) {
    
$j 7;
  }
  
$j--;
}
$arr[$j
Bzw. selbiges umgekehrt in die andere Richtung...
Mit Zitat antworten
  #7 (permalink)  
Alt 07-09-2007, 10:36
st@tic
 Registrierter Benutzer
Links : Onlinestatus : st@tic ist offline
Registriert seit: Mar 2004
Beiträge: 344
st@tic ist zur Zeit noch ein unbeschriebenes Blatt
Standard

darf ich dir noch nen tipp geben?
ich weiß jetzt nicht ob du immer so deinen code schreibst

aber diese variablen namen $i, $x, $y sollte man vermeiden.
bei for-schleifen oder anderen zählvariablen ist es ok, aber normale Variablen sollten immer nen freffenden Namen haben, damit man schon am Variablennamen sieht, wofür die eigentlich benutzt werden soll

glaub mir bei längeren codes ist das sehr von vorteil
Mit Zitat antworten
  #8 (permalink)  
Alt 07-09-2007, 12:31
penizillin
 PHP Guru
Links : Onlinestatus : penizillin ist offline
Registriert seit: Feb 2004
Beiträge: 10.166
penizillin ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
$start 7$schritte 5$arr = array(...);

for(
$i 0$i<$schritte$i++)
 echo 
$arr[ ( $start+$i ) % count($arr) ]; 
nur als idee.
Mit Zitat antworten
  #9 (permalink)  
Alt 08-09-2007, 08:07
PHPler
 Registrierter Benutzer
Links : Onlinestatus : PHPler ist offline
Registriert seit: Oct 2003
Beiträge: 250
PHPler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von penizillin
PHP-Code:
$start 7$schritte 5$arr = array(...);

for(
$i 0$i<$schritte$i++)
 echo 
$arr[ ( $start+$i ) % count($arr) ]; 
nur als idee.
Sieht ganz gut aus. Nur wie bekomme ich das ganze jetzt nochmal in die andere Richtung umgedreht, ohne dass ich dabei in - Werte abdrifte!?

Bei $start 2, $schritte = 5 käme ich dann ja auf -3, da funzt das mit dem %count($arr) auch nicht mehr...
Mit Zitat antworten
  #10 (permalink)  
Alt 08-09-2007, 11:57
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

$start-$i
Mit Zitat antworten
  #11 (permalink)  
Alt 08-09-2007, 12:59
PHPler
 Registrierter Benutzer
Links : Onlinestatus : PHPler ist offline
Registriert seit: Oct 2003
Beiträge: 250
PHPler ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von onemorenerd
$start-$i
Ja ich weis, nur wenn $i größer $start ist komme ich in den negativen Zahlenbereich, da bringt das %count($arr) am Ende auch nichts (funzt wohl nicht mit negativen Zahlen!?)...
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

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