Random reeks zonder herhaling

Door Mike , 22 jaar geleden, 5.530x bekeken

Je kunt een range opgeven en de code maakt dan een array met random getallen die binnen de range vallen zonder dat er een getal dubbel in komt te staan.

Voorbeeld: http://www.paadt.nl/test/range/

Gesponsorde koppelingen

PHP script bestanden

  1. random-reeks-zonder-herhaling

 

Er zijn 32 reacties op 'Random reeks zonder herhaling'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Jelle -
Jelle -
22 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php

$Arange
= array(1,2,3);

shuffle($Arange);

foreach($Arange as $value){
    echo $Arange;
}


/* Output:
123
of
213
of
321
of
312
of iets anders
*/


?>

Is dit niet makkelijker?
Mark D
Mark D
22 jaar geleden
 
0 +1 -0 -1
@Jordy, en dan geen array met nummers maar gewoon zo:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php

$Arange
= range(0,10);

?>
Jelle -
Jelle -
22 jaar geleden
 
0 +1 -0 -1
@ Mark, daar heb je gelijk in ^^
Mike
mike
22 jaar geleden
 
0 +1 -0 -1
lol ok wist niet dat dat bestond

maar dan nog denk ik dat je met mijn manier meer kanten op kan, omdat je makkelijk zelf in kunt bouwen dat bepaalde waardes geskipped moeten worden.

het was een stil moment hier op stage dus had even wat tijd over
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
dit zal je hoster leuk vinden als dat vaak bezocht wordt.
Jelle -
Jelle -
22 jaar geleden
 
0 +1 -0 -1
Ja kan hij wel om lachen denk ik :-)
Mike
mike
22 jaar geleden
 
0 +1 -0 -1
ik kan er wel om lachen hoor en mijn host zul je niet horen... klik maar een end weg op die link... =]
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
Zit gewoon zoals altijd een max execution time op van een minuut, maar toch krijg je problemen met 1000en bezoekers ;-)

Mijn punt is igg, zorg gewoon dat je daar ook even een beveiliging op zet.
Mike
mike
22 jaar geleden
 
0 +1 -0 -1
zit er al op... =] anders zeg ik toch niet klik maar een end weg =] max is 99
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
oohke, maar waarom zit dat dan niet in het script hierboven?
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
btw zo goed is je beveiliging niet, kijk maar is hier
Mike
mike
22 jaar geleden
 
0 +1 -0 -1
omdat ik niet voor iemand ga bepalen wat de max range is
Mike
mike
22 jaar geleden
 
0 +1 -0 -1
zo kun je wel aan de gang blijven, het beveiligen van de range staat hier toch los van wat je ermee kan doen... je gaat dit script toch ook niet gebruiken met de range als GET variabele

ik gebruik het om even snel te kunnen laten zien hoe of wat
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
Jah, maar ik heb het script al gemeld, vind het nogal overbodig...

range, schuffle, foreach klaar.
Mike
mike
22 jaar geleden
 
0 +1 -0 -1
de output is in dit geval inderdaad het zelfde, maar met mijn manier heb je meer invloed in wat er gebeurd
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
leg uit,

Ik wil een reeks van 0 tot 100 in willekeurige volgorde op mijn scherm, waarom moet ik jouw moeilijke script gebruiken.
Mike
mike
22 jaar geleden
 
0 +1 -0 -1
je gaat dit niet gebruiken om een reeks van 0-100 op je scherm te plempen, zo laat ik de werking even zien

ik zou dit bijvoorbeeld kunnen gebruiken om een banner rotator te maken maar op maandag wil ik dat bepaalde banners niet voorkomen die op dinsdag weer wel mogen.

omdat de array waar naar gekeken wordt wat er op maandag al geweest is niet van te voren ingevuld hoeft te worden kun je waardes skippen.

en ja dat kan ook op de andere manier, maar je maakt dan wel overbodige items aan.

en ja je kan voor elke dag een array maken en die shuffelen en met foreach nalopen, maar als je een beetje dynamisch wil blijven en je gooit het in een functie waaraan je de waardes die geskipped moeten worden meegeeft in je call zit je naar mijn idee weer beter.

ik zeg niet dat in alle gevallen mijn script beter is en dit voorbeeld is ook maar of the top of my head
Jelle -
Jelle -
22 jaar geleden
 
0 +1 -0 -1
@php newbie

Sorry dat ik het moet zeggen; maar ik vind je echt overkomen als een koter
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
Jouw mening Jordy,

Ik vind dit een onzinnig script, en kan hier gewoon weg.

Mike,
Succes met je banner rotator, deze maak je normaliter toch op een hele andere manier.

Edit:

We zien vanzelf of de admins het met me eens zijn.
Leo
Leo
22 jaar geleden
 
0 +1 -0 -1
PHP Newbie, niet zo aanstellen.

iig leuk script, handig voor mensen die dit nodig hebben en/of het niet snappen.
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
Leo,

Als ze het niet snappen zal dit script ze ook niet veel helpen. Ik refereer dan liever even naar de eerste reactie van Jordi.
Niek s
niek s
22 jaar geleden
 
0 +1 -0 -1
Jordy...
Leo
Leo
22 jaar geleden
 
0 +1 -0 -1
Bedoelde het niet zo, ik bedoelde dat ze dit als naslagwerk kunnen gebruiken. Dus er iets van opsteken door dit door te lezen.
Mike
mike
22 jaar geleden
 
0 +1 -0 -1
Je wilt het gewoon niet begrijpen geloof ik...

Ik zeg toch heel duidelijk dat dat voorbeeld zomaar uit mijn hoofd was...

Jij stelt een domme vraag en ja die bestaan dus toch... dus krijg je een antwoord dat daarbij past...

Jij vraagt aan de hand van 0-100 op het scherm gooien waarom mijn script beter zou zijn, terwijl ik in mijn eerste reactie al toegaf dat de gegeven manier inderdaad beter daar voor is.

Je kijkt teveel naar het script zijn output, je moet het grotere plaatje zien... nouja moet moet, zou wel zo fijn zijn als je commentaar ergens over gaat geven. Begrijp me niet (weer) verkeerd ik vind het goed om commentaar te krijgen, maar als je te kortzichtig bent om te zien wat ik vertel of gewoon te bedonderd om goed te lezen dan houd het van mijn kant op...

Ik kan best begrijpen dat de admins het script (zoals het hier staat) overbodig vinden door het gegegevn alternatief en misschien dat ik het aan een concreet voorbeeld had kunnen koppelen waardoor het zich duidelijker onderscheidt. Ik zie er wel een aantal handige toepassingen voor die juist op de andere manier omslachtig zijn.

Als ik tijd en zin heb zal ik een toepassing die ik ervoor zie uitwerken en laten zien. Aan de hand van of het script hier nog staat of hij verwijdert is zal ik het hier bij plaatsen of als nieuw iets laten zien.

Iedereen in ieder geval bedankt voor de reacties, ook PHP Newbie ondanks dat ik het idee heb dat je niet de zelfde moeite als mij/anderen hier steekt in het reageren op elkaar.
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
dezelfde moeite als mij? Nederlands is schijnbaar ook erg lastig voor je.

Verder help ik hier erg graag mensen, en dat ik volgens mij ook aan mijn aantal forumposts wel te zien. Maar als jij beweert dat ik er niet genoeg moeite in steek, laat ik jouw posts in het vervolg ook maar gewoon links liggen.
Mike
mike
22 jaar geleden
 
0 +1 -0 -1
Wat zeggen forum posts?
Wat hebben forum posts te maken met het reageren op scripts?

Dat ik er op de vroege morgen een typefout uitgooi kan me aan mijn reet roesten. En als we dan toch op de tour gaan van het kinderachtig afzeiken van typefouten:

"en dat ik volgens mij ook aan mijn aantal forumposts wel te zien"

Mij maakt het verder niet echt veel uit hoor, maar vind het wel knullig dat je mij afzeikt op een typefout en het dan zelf ook doet.

Jij hebt gewoon moeite met lezen wat er staat, ik zeg niets over jou input op het forum.

Blijkbaar laat je mijn post al links liggen, want je reageert totaal niet op wat ik zeg, maar haalt er een typefout uit. Ik herken een trend... Je leest posts het zelfde als dat je naar scripts kijkt of ben ik dan net zo kort door de bocht als jou?
Koen Bressers
Koen Bressers
22 jaar geleden
 
0 +1 -0 -1
Kijk PHP Newbie, je hebt wel gelijk maar als mike het toch niet wil veranderen blijf er dan ook niet over deurzeuren, het heeft toch geen zin. Je kunt je tijd beter in je site steken en zorgen dat je menu bij het phphulp gedeelte met Firefox stil blijft staan bij mouseover... ;)

Edit (ook offtopic, sorry daarvoor): Ik heb even op je site rondgekeken en het viel me op dat je banner met IE niet transparant is. IE werkt niet zo makkelijk met PNG, daar keeg ik zelf ook last van en daar heb ik dit scriptje voor gebruikt: http://data.netersel.net/png.js. Misschien heb je er iets aan?
PHP Newbie
PHP Newbie
22 jaar geleden
 
0 +1 -0 -1
Ik gebruik datzelfde script al Koen, maar dat werkt niet voor div achtergronden die in een externe style-sheet staan gedefineerd.

Verder krijgt iedereen toch binnekort een verplichte update naar IE7. Het is wel op te lossen met een alpha filter, maar toch.

Verder blijft het menu hier gewoon stil staan!
Marien xD
Marien xD
22 jaar geleden
 
0 +1 -0 -1
Wat een kinderachtige reacties zeg. Dit is gewoon een voorbeeld script en er staat ook niet niet voor niets bij dat het een beginner niveau is. Begrijp het zou ik zeggen en beoordeel ieder script op het niveau waar het voor bedoeld is.
Koen Bressers
Koen Bressers
22 jaar geleden
 
0 +1 -0 -1
PHP Newbie:

Haha, tegenwoordig is alles verplicht bij Microsoft.

Van die div achtergrond had ik nog niet gezien. En alpha filter zou inderdaad maar dan wordt het plaatje volgens mij heel groot. Dus dan hebben IE gebruikers gewoon pech... ;)

Van dat menu is raar... zal wel aan mijn resolutie liggen (kijk eens of het wel beweegt als je je scherm kleiner maakt).
Edwin
Edwin
22 jaar geleden
 
0 +1 -0 -1
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$gedaan
= array();
$status = 0;
$range = 10;
if(isset($_GET["range"]) && !$_GET["range"] >= "25" && !$_GET["range"] <= "0") { $range = $_GET["range"]; }

while($status == 0){
    $waarde = round(rand(1,$range));
    if(count($gedaan) == $range){
        $status = 1;
    }
else if(!in_array($waarde, $gedaan)){
        array_push($gedaan, $waarde);
        echo $waarde.'<br />';
    }
}

echo '<p>Random weergeven volgorde van de opgegeven range <b>zonder herhaling</b> (je kan een range opgeven door ?range=# toe tevoegen).</p>';
echo '<p>Totaal aantal = '.$range.'</p>';
?>


ik weet nie of ik het goed gedaan heb maar toch
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Majid Ahddin
Majid Ahddin
22 jaar geleden
 
0 +1 -0 -1
Quote:
het was een stil moment hier op stage dus had even wat tijd over

En dan komen de frut'scripts'

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. random-reeks-zonder-herhaling

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.