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 27-01-2010, 08:52
Dirk-Kiel
 Registrierter Benutzer
Links : Onlinestatus : Dirk-Kiel ist offline
Registriert seit: Feb 2003
Beiträge: 41
Dirk-Kiel ist zur Zeit noch ein unbeschriebenes Blatt
Standard Zufallswiedergabe eines 1 Dim Arrays

Moin moin,

als kleines Snippet bräuchte ich eine Zufallswiedergabe eines Arrays,
in welchem 4 Strings enthalten sind, aber immer nur 2 zur Anzeige kommen.
Diese 2 sollten nicht doppelt und eben bei jedem Reload der Seite
unterschiedlich sein.
Dazu habe ich bereits angefangen, das haut aber nicht hin. Ich bekomme nicht
den String "Text1" etc. als Ausgabe.
Wer mag mir dabei helfen und mich in die Richtung stupsen?
PHP-Code:
<?php

$array 
= array("Text1""Text2""Text3""Text4");

array_rand($array2);

// var_dump($array);  

foreach($array as $key => $elem){
        echo 
$elem."<br />";
}

?>
Danke im vorraus für Konstruktives.

Gruß
Mit Zitat antworten
  #2 (permalink)  
Alt 27-01-2010, 11:10
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

zuerst mal solltest du dir im Handbuch durchlesen, wie array_rand funktioniert und vor allem was es zurück gibt. Beispiele sind ja dort auch dabei, zum besseren Verständnis.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #3 (permalink)  
Alt 27-01-2010, 11:36
dhcomputer
 Registrierter Benutzer
Links : Onlinestatus : dhcomputer ist offline
Registriert seit: Aug 2003
Beiträge: 18
dhcomputer ist zur Zeit noch ein unbeschriebenes Blatt
dhcomputer eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Dirk-Kiel Beitrag anzeigen
Diese 2 sollten nicht doppelt und eben bei jedem Reload der Seite unterschiedlich sein.
also wenn es bei jeden Reload der Seite unterschiedlich sein sollte, dann wirst du per Zufall gar nichts erreichen können.

Dann muss es ja ein Gedächnis geben in Form von einem Sessioneintrag oder aus der Datenbank geholt werden.

Ist mit Reload der einzelne Benutzer gemeint oder generell?

Beispiel:

User 1 sieht 1 und 2
User 2 sieht 3 und 4

Nach einem Reload dann

User 1 sieht 3 und 4
User 2 sieht 1 und 2

??

Oder habe ich da jetzt einen Denkfehler?
__________________
Professionelle und innovative Programmierung
Mit Zitat antworten
  #4 (permalink)  
Alt 27-01-2010, 16:20
Dirk-Kiel
 Registrierter Benutzer
Links : Onlinestatus : Dirk-Kiel ist offline
Registriert seit: Feb 2003
Beiträge: 41
Dirk-Kiel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

falsch ausgedrückt.
Natürlich können die Strings mehrmals kommen, nur nicht gleichzeitig
doppelt :
Text1, Text3 oder
Text1, Text4 oder
Text2, Text3

aber nicht
Text1, Text1 etc

CU
Mit Zitat antworten
  #5 (permalink)  
Alt 27-01-2010, 16:33
combie
 PHP Expert
Links : Onlinestatus : combie ist offline
Registriert seit: May 2006
Beiträge: 3.296
combie wird schon bald berühmt werden
Standard

Wie wäre es mit shuffle() und array_slice() ?

Oder wenn die Daten aus der DB kommen direkt mit
"ORDER BY RAND() LIMIT 2"
__________________
Wir werden alle sterben
Mit Zitat antworten
  #6 (permalink)  
Alt 28-01-2010, 01:20
dhcomputer
 Registrierter Benutzer
Links : Onlinestatus : dhcomputer ist offline
Registriert seit: Aug 2003
Beiträge: 18
dhcomputer ist zur Zeit noch ein unbeschriebenes Blatt
dhcomputer eine Nachricht über ICQ schicken
Standard

Um beim Eingangsbeispiel zu bleiben:

PHP-Code:
<?php

$array 
= array("Text1""Text2""Text3""Text4");

// array_rand liefert zufällige array keys zurück
$keys array_rand($array2);

// erhaltene keys durchlaufen
foreach($keys as $key)
{
    
// array mit angabe des key ausgeben
    
echo $array[$key]."<br />";
}

?>
__________________
Professionelle und innovative Programmierung
Mit Zitat antworten
  #7 (permalink)  
Alt 28-01-2010, 10:29
Dirk-Kiel
 Registrierter Benutzer
Links : Onlinestatus : Dirk-Kiel ist offline
Registriert seit: Feb 2003
Beiträge: 41
Dirk-Kiel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hi,

@dhcomputer: danke, das war sehr hilfreich.
Meinen Denkfehler habe ich damit gefunden.
@AmicaNotis: auch dir dank, diese Seite hatte
ich mir schonmal zu Gemüte geführt.

Eins vielleicht noch:
wenn ich jetzt z.B. von 4 auf 8 Strings gehe, mir alle 8
durcheinander wirbeln lasse und nach 4 Strings eine Aktion
stattfinden soll (Umbruch, Tabelle...was auch immer) danach
die restlichen 4 Strings kommen, muß ich den Zähler $i
auf was richten?

CU
Mit Zitat antworten
  #8 (permalink)  
Alt 28-01-2010, 11:09
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

Ich sehe hier zwar kein $i, aber behaupte einfach mal 4.
Mit Zitat antworten
  #9 (permalink)  
Alt 28-01-2010, 11:21
Dirk-Kiel
 Registrierter Benutzer
Links : Onlinestatus : Dirk-Kiel ist offline
Registriert seit: Feb 2003
Beiträge: 41
Dirk-Kiel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PHP-Code:
<?php

$array 
= array("Text1""Text2""Text3""Text4""Text5""Text6""Text7""Text8");

// array_rand liefert zufällige array keys zurück
$keys array_rand($array8);

// erhaltene keys durchlaufen
foreach($keys as $key)
{
    
// array mit angabe des key ausgeben
    
echo $array[$key]."<br />";
   
// jetzt kommen ja alle untereinander gelistet, 
   // hier wäre es aber sinnvoll für mich nach 4 erst umzubrechen
}

?>
Wie stelle ich es an, dass ich mit count (?) nach 4mal $key erst den Zeilenumbruch mache und die anderen 4 danach kommen?
PHP-Code:
 $count count($array) ;  // gibt mir die komplette Anzahl an 
CU
Mit Zitat antworten
  #10 (permalink)  
Alt 28-01-2010, 11:42
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Das $keys-Array hat selbst auch wieder einen Key, wenn du also
PHP-Code:
foreach ($keys as $i => $key
schreibst, kannst du bei $i == 4 vorher den Umbruch machen.

Gruß,

Amica
__________________
Hast du die Grundlagen zur Fehlersuche gelesen? Hast du Code-Tags benutzt?
Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
Super, danke!
Mit Zitat antworten
  #11 (permalink)  
Alt 28-01-2010, 13:18
Dirk-Kiel
 Registrierter Benutzer
Links : Onlinestatus : Dirk-Kiel ist offline
Registriert seit: Feb 2003
Beiträge: 41
Dirk-Kiel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke AmicaNoctis, das war hilfreich.

Danke auch an alle anderen.

CU
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tägliche Zufallswiedergabe robftp Apps und PHP Script Gesuche 2 07-10-2006 12:21
Durchschnittswert eines Arrays Thoma PHP Developer Forum 11 02-01-2006 01:16
Auswertung eines Arrays mit PHP tolwin PHP Developer Forum 3 31-05-2005 11:05
Maximum aus Arrays, die in einer Liste eines Arrays stehen nixgut PHP Developer Forum 2 07-04-2005 23:07
Summe eines Arrays Chefkoch PHP Developer Forum 5 22-02-2003 22:14

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

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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