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 ::

Der CSS-Problemlöser

Der CSS-Problemlöser 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 Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 17.05.2012, 18:36:37
adrianzeitblom adrianzeitblom ist offline
Anfänger
 
Registriert seit: Oct 2007
Beiträge: 10
Verschachtelte Schleifen

Hallo,

schon wieder hoffe ich auf eure Hilfe.
Ich möchte gern ein Array folgender Form erzeugen:

Code:
$wertemenge = array(
    "1" => "1",
    "2" => "1",
    "3" => "1",
    "4" => "2",
    "5" => "2",
    "6" => "3");
Hintergrund ist, dass ich versuche, eine Lernkartei umzusetzen.
Habe ich einen Inhalt gewusst, wandert er ein Fach nach hinten.
Meine Idee ist, die Anzahl der Fächer nicht im Vorfeld festzulegen, die Kartei soll die Möglichkeit haben, an Fächern "nach hinten raus" zu wachsen.
Zugleich soll die Wahrscheinlichkeit, mit welcher das Programm Karten zur Abfrage auswählt, abnehmen, je höher die Fachnummer ist (oder anders formuliert: je weiter "hinten" der Inhalt in der Kartei ist).
Resultat obigen Arrays soll also sein, dass Fach "3" seltener als Fach "2" und selbiges seltener als Fach "1" abgefragt wird.
Zur Auswahl des abzufragenden Fachs möchte ich PHP eine Zufallszahl generieren lassen.
Durch Abgleich mit den Keys des obigen Arrays kann dann in dessen Values die betreffende Fachnummer "nachgeschlagen" werden.
Das obige Array ist ein Beispiel, basierend auf der Annahme, derzeit existierten 3 Fächer.
Die Anzahl der benötigten Arrayfelder/Keys und zugleich die Wertemenge, auf welcher per mt_rand() die Zufallszahl ermittelt wird, ergibt sich als Summe der Fachnummern wie folgt:

Code:
for ($i = $hoechstesKarteifach; $i > 0; $i--) {
    $summe = $summe + $i;
}
Leider will es mir nicht gelingen, obiges Array per PHP zu erzeugen.
Ich habe es mit ineinander verschachtelten Schleifen versucht, bislang jedoch ohne Erfolg.
Es wäre fein, wenn jemand mit mehr Schleifenerfahrung oder Logik als ich mir helfen könnte.

Besten Dank für euer Bemühen!
Mit Zitat antworten
  #2  
Alt 17.05.2012, 19:48:14
adrianzeitblom adrianzeitblom ist offline
Anfänger
 
Registriert seit: Oct 2007
Beiträge: 10
AW: Verschachtelte Schleifen

Danke euch, aber hat sich schon erledigt.
Im Folgenden die Lösung (funktioniert tadellos, ist aber nicht auf meinen Mist gewachsen):

Code:
<?php
  $n = 3;
  $data = array();
 
  for($i = 1; $i <= $n; $i++) {
    $data = array_merge($data, array_pad(array(), $n - $i + 1, $i));
  }
Mit Zitat antworten
  #3  
Alt 18.05.2012, 08:28:52
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Verschachtelte Schleifen

Hi

1. Verständnisproblem
Zitat:
Meine Idee ist, die Anzahl der Fächer nicht im Vorfeld festzulegen, die Kartei soll die Möglichkeit haben, an Fächern "nach hinten raus" zu wachsen.
steht irgendwie entgegen
Zitat:
$hoechstesKarteifach;..........$n = 3;......
Warum überhaupt schon vorher mögliche Fächer anlegen? Ich würde maximalwert anlegen
und den rest dynamisch.
Zitat:
Resultat obigen Arrays soll also sein, dass Fach "3" seltener als Fach "2" und selbiges seltener als Fach "1" abgefragt wird.
Seh ich keinen probierten Code und in der Antwort kommt das auch nicht vor.
Zitat:
Zur Auswahl des abzufragenden Fachs möchte ich PHP eine Zufallszahl generieren lassen.
seh ich auch nichts zu. :(

2. Verständnisproblem 2(wie so oft...)
Was denkst du dir dabei wenn du dein Problem in verschiedenen Foren (ich bin in so gut wie allen php-foren angemeldet!) darlegst?

mfg

CKaos
PS: Ja ich habe in jedem Forum einen anderen Namen ;)
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
  #4  
Alt 18.05.2012, 08:56:14
adrianzeitblom adrianzeitblom ist offline
Anfänger
 
Registriert seit: Oct 2007
Beiträge: 10
AW: Verschachtelte Schleifen

@Ckaos:
1.) $n = 3; war als Beispiel gemeint, der Wert für das derzeit höchste Karteikartenfach wird aus der Datenbank ausgelesen und der Funktion übergeben.
Es gibt also einen Ausgangswert wie $n; dieser wechselt nur von Funktionsaufruf zu Funktionsaufruf.
Zu deinem Vorschlag, einen Maximalwert festzulegen: Das möchte ich ja gerade vermeiden.
Ich habe keinen Code gepostet, weil ich nach einigen Stunden Getüftel mit verschachtelten while- und for-Schleifen immer noch keinen Code hatte, der entfernt das tat, was ich wollte.
Mir ist klar, dass Code zu posten meistens besser ist als es zu lassen; in diesem Fall hielt ich das aufgrund meiner mickrigen Ergebnisse jedoch für kontraproduktiv.

2.) Ich entschuldige mich für den Doppelpost.
Zu meiner Verteidigung möchte ich darauf hinweisen, dass ich die Lösung (unter dem Hinweis, das sie nicht von mir stammt) sofort, nachdem ich sie erhalten hatte, hier gepostet habe und darauf hingewiesen habe, das Thema sei erledigt.
Meine Absicht war es nicht, jemandem unnötig Umstände zu bereiten oder zu verärgern.
Mir war im übrigen nicht klar, dass es verboten ist, eine Bitte um Hilfe in zwei Foren parallel zu posten, sofern man die Ergebnisse zeitnah mit allen Beteiligten teilt, gestehe jedoch ein, auch als Forenteilnehmer noch nicht allzu viel Erfahrung zu haben.
Ich habe deine Entrüstung zur Kenntnis genommen und werde sie zum Anlass nehmen, in Zukunft auf derlei Aktionen zu verzichten.
Mit Zitat antworten
  #5  
Alt 18.05.2012, 10:17:34
Ckaos Ckaos ist offline
Member
 
Registriert seit: Nov 2007
Beiträge: 843
AW: Verschachtelte Schleifen

Hi

Zitat:
der Wert für das derzeit höchste Karteikartenfach wird aus der Datenbank ausgelesen und der Funktion übergeben.
Aha ;)
Zitat:
Zu deinem Vorschlag, einen Maximalwert festzulegen: Das möchte ich ja gerade vermeiden.
also Lernen als never-ending-story mit mehr als 1000 fächer ;)
Zitat:
Lösung ... sofort, nachdem ich sie erhalten hatte, hier gepostet habe und darauf hingewiesen habe, das Thema sei erledigt. Mir war im übrigen nicht klar, dass es verboten ist, eine Bitte um Hilfe in zwei Foren parallel zu posten..
Das ist so gut wie in allen Foren so da sie meist neue Mitglieder durch z.B. Google bekommen und dann ist es ein Glücksspiel wenn der suchende 6mal den Text in 6 verschiedenen Foren findet und Suchmaschinen bewerten doppelten/gleichen/ähnlichen Content meist mies. Nimm z.B.
Zitat:
Hintergrund ist, dass ich versuche, eine Lernkartei umzusetzen.
Habe ich einen Inhalt gewusst, wandert er ein Fach nach hinten.
Meine Idee ist, die Anzahl der Fächer nicht im Vorfeld festzulegen, die Kartei soll die Möglichkeit haben, an Fächern "nach hinten raus" zu wachsen.
und suche das mal in Google ;)
Zitat:
... deine Entrüstung ...
Ich niemals, ich schwimme mit dem Strom des "guten ton's" des Forum.

mfg

CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
Mit Zitat antworten
Antwort

Stichworte
algorithmus, lernkartei, schleifen, verschachtelte schleifen, zufallszahl


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Bis Morgen verschachtelte if-Anweisung zur Hausaufgabe declaudi PHP Grundlagen 8 30.01.2009 18:57:27
Problem mit 2 verschachtelten Schleifen Arronax PHP Grundlagen 2 24.09.2008 14:41:16
Verschachtelte if else Anweisung marqito PHP Grundlagen 7 06.06.2007 13:06:39
Verschachtelte Ausgabe thorben PHP Grundlagen 5 08.01.2006 06:30:26
Verschachtelte Abfrage Zudecke MySQLi/PDO/(MySQL) 3 09.12.2005 15:20:25


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


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


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