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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

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


 

Aktuelle PHP Scripte

WeltExplorer v1.0

WeltExplorer v1.0 ist ein Dateimanager zum Browsen und Operieren im Dateisystem. Bei installiertem cURL können Ordner und Dateien zu entfernten FTP-Servern hochgeladen bzw. von diesen heruntergeladen werden, etwa zum Erstellen von Backups oder Mirrorsites

06.02.2019 weltvolk | Kategorie: PHP/ File
PG Job Site Pro

> Job Site Pro - web-basiertes Programm, auf PHP/MySQL für Erstellung der funktionellen Job Board Site gebaut. Das hat erweitertes Management-System für Arbeitssuchenden und Arbeitgeber und kann für bestimmte Länder, Regionen oder einfach generelle Job Si

05.02.2019 submit@ | Kategorie: PHP/ Management
ModuleStudio ansehen ModuleStudio

Modellgetriebene Entwicklung von Erweiterungen für das Open Source Framework Zikula.

15.01.2019 Guite | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
 Alle PHP Scripte anzeigen

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