mt_rand in combinatie met %

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rene janssen

rene janssen

23/10/2014 15:18:46
Quote Anchor link
hoe combineer je mt_rand met %
mt_rand ($plaatjes[0],50%)
mt_rand ($plaatjes[1] 20%)
mt_rand ($plaatjes[2] 10%)
 
PHP hulp

PHP hulp

23/12/2024 06:22:32
 
Henk de Vriep

Henk de Vriep

23/10/2014 15:52:33
Quote Anchor link
Wat wil je precies bereiken?
 
Klim geit

klim geit

23/10/2014 15:55:29
Quote Anchor link
Bedoel je dat je met een percentage wilt aangeven of de uitkomst bijvoorbeeld 0 of 1 is?
 
Rene janssen

rene janssen

23/10/2014 17:48:26
Quote Anchor link
de bedoeling is om plaatjes random weer te geven.
maar dan een plaatje 50% het tweede 20% en het derde 10%.

met de volgende opstelling ben ik nu bezig.

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
23
24
25
26
27
28
29
30
<?php
function randomImage() {
  $plaatje = array();
  $plaatjes[0]['alt'] = 'tablet';
  $plaatjes[0]['src'] = 'http://i332052.iris.fhict.nl/tablet.jpg';
  $plaatjes[0]['url'] = 'http://nl.wikipedia.org/wiki/Tablet-pc';

  $plaatjes[1]['alt'] = 'laptop';
  $plaatjes[1]['src'] = 'http://i332052.iris.fhict.nl/laptop.jpg';
  $plaatjes[1]['url'] = 'http://nl.wikipedia.org/wiki/Laptop';

  $plaatjes[2]['alt'] = 'telefoon';
  $plaatjes[2]['src'] = 'http://i332052.iris.fhict.nl/samsung.jpg';
  $plaatjes[2]['url'] = 'http://nl.wikipedia.org/wiki/Smartphone';

mt_rand ($plaatjes[0],50%)
mt_rand ($plaatjes[1],20%)
mt_rand ($plaatjes[2],10%)


  $plaatje = $plaatjes[mt_rand(0, count($plaatjes) - 1)];

  return '<a href="' . $plaatje['url'] . '" target="_blank"><img src="' . $plaatje['src'] . '" alt="' . $plaatje['alt'] . '" title="' . $plaatje['alt'] . '"></a>';
}


echo randomImage();



?>
 
E vH

E vH

23/10/2014 17:52:53
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

$plaatje
$plaatjes

// regel 3 &4
?>


Daarnaast begrijp ik nog niet welke kant je op wilt met je procenten....
Gewijzigd op 23/10/2014 17:53:38 door E vH
 
Rene janssen

rene janssen

23/10/2014 18:00:06
Quote Anchor link
dat de image met van de tablet 50% vaker vertoont wordt dan de andere
de image met de laptop 20% vaker dan de laatste.
de telefoon.
 
Eddy E

Eddy E

23/10/2014 19:55:10
Quote Anchor link
Dan zal je een array kunnen vullen.

Wat wel grappig is: 50 + 20 + 10 != 100%.
... je mist er nog ergens 20. Wat komt daar? Niets?

Daarnaast: zo werkt een jackpot natuurlijk niet. Die moet willekeurig zijn en gelijke kansen voor elk plaatje.
 
Klim geit

klim geit

23/10/2014 20:21:52
Quote Anchor link
Maar wil je 3 plaatjes naast elkaar zoals een slotmachine? Of 1 plaatje dat, zoals Eddy aangeeft, feitelijk niet berekend kan worden? Je bent echt super onduidelijk met wat je wilt bereiken.
Gewijzigd op 23/10/2014 20:22:04 door klim geit
 
Rene janssen

rene janssen

23/10/2014 22:57:55
Quote Anchor link
Nee het is niet voor de slotmachine. :)
dit is een ander programmatje, dat random een plaatje laat zien waar een hyperlink aan zit.
nu was het de bedoeling om een plaatje meer te laten zien dan de anderen in oplopende % maar zo precies komt het eigenlijk niet.
ik heb al een oplossing kunnen vinden....
het is niet de mooiste moet ik zeggen maar het werkt.. ;-)

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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
function randomImage() {
  $plaatje = array();
  $plaatjes[0]['alt'] = 'tablet';
  $plaatjes[0]['src'] = 'http://i332052.iris.fhict.nl/tablet.jpg';
  $plaatjes[0]['url'] = 'http://nl.wikipedia.org/wiki/Tablet-pc';
  
  $plaatjes[1]['alt'] = 'tablet';
  $plaatjes[1]['src'] = 'http://i332052.iris.fhict.nl/tablet.jpg';
  $plaatjes[1]['url'] = 'http://nl.wikipedia.org/wiki/Tablet-pc';

  $plaatjes[2]['alt'] = 'laptop';
  $plaatjes[2]['src'] = 'http://i332052.iris.fhict.nl/laptop.jpg';
  $plaatjes[2]['url'] = 'http://nl.wikipedia.org/wiki/Laptop';
  
  $plaatjes[3]['alt'] = 'laptop';
  $plaatjes[3]['src'] = 'http://i332052.iris.fhict.nl/laptop.jpg';
  $plaatjes[3]['url'] = 'http://nl.wikipedia.org/wiki/Laptop';
  
  $plaatjes[4]['alt'] = 'laptop';
  $plaatjes[4]['src'] = 'http://i332052.iris.fhict.nl/laptop.jpg';
  $plaatjes[4]['url'] = 'http://nl.wikipedia.org/wiki/Laptop';

  $plaatjes[5]['alt'] = 'telefoon';
  $plaatjes[5]['src'] = 'http://i332052.iris.fhict.nl/samsung.jpg';
  $plaatjes[5]['url'] = 'http://nl.wikipedia.org/wiki/Smartphone';

  $plaatjes[6]['alt'] = 'telefoon';
  $plaatjes[6]['src'] = 'http://i332052.iris.fhict.nl/samsung.jpg';
  $plaatjes[6]['url'] = 'http://nl.wikipedia.org/wiki/Smartphone';
  
  $plaatjes[7]['alt'] = 'telefoon';
  $plaatjes[7]['src'] = 'http://i332052.iris.fhict.nl/samsung.jpg';
  $plaatjes[7]['url'] = 'http://nl.wikipedia.org/wiki/Smartphone';
  
  $plaatjes[8]['alt'] = 'telefoon';
  $plaatjes[8]['src'] = 'http://i332052.iris.fhict.nl/samsung.jpg';
  $plaatjes[8]['url'] = 'http://nl.wikipedia.org/wiki/Smartphone';
  
  $plaatjes[9]['alt'] = 'telefoon';
  $plaatjes[9]['src'] = 'http://i332052.iris.fhict.nl/samsung.jpg';
  $plaatjes[9]['url'] = 'http://nl.wikipedia.org/wiki/Smartphone';



  $plaatje = $plaatjes[mt_rand(0, count($plaatjes) - 1)];

  return '<a href="' . $plaatje['url'] . '" target="_blank"><img src="' . $plaatje['src'] . '" alt="' . $plaatje['alt'] . '" title="' . $plaatje['alt'] . '"></a>';
}


echo randomImage();



?>
 
Ivo P

Ivo P

24/10/2014 12:18:27
Quote Anchor link
of:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$aKansen
= array( 0,0, 1,1,1, 2,2,2,2);

shuffle($aKansen);

$iGekozen = $aKansen[0];

echo $plaatjes[$iGekozen]['alt'];  //etc
?>


dus 2 kansen op 9 dat het een 0 wordt, 3 op 9 een 1 en 4 op 9 een 2;
 



Overzicht Reageren

 
 

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.