2017-08-03 3 views
0

Je suis très nouveau dans PHP, mais je dois créer une fonction pour une page que je travaille dessus.Poids sur l'étiquette pour montrer l'élément différent sur chaque visite

J'ai un div dont j'ai un tag & IMG tag à l'intérieur. Je ne veux pas leur montrer les deux balises en même temps dans ce div à chaque visite. Donc, je me demandais s'il était possible d'avoir une sorte de poids/taux de spectacle sur ce div pour la balise & img.

Ainsi, par exemple 30% du temps, je montre un texte <h1>Text here</h1> tandis que 70% du spectacle de temps <img src="example.png">.

Les taux n'ont pas besoin d'être précis à 100%, mais tant que l'étiquette img montre la plupart d'entre eux.

Toute aide est appréciée!

Répondre

0

Vous pouvez utiliser mt_rand pour générer un nombre aléatoire entre 1 et 100.

<?php if(mt_rand(1, 100) <= 30): ?> 
    <h1>My text</h1> 
<?php else: ?> 
    <img src="myimage.png" alt="my image's alt"> 
<?php endif; ?> 
0

Vous pouvez avoir un tableau de 100 éléments et avoir 30 avec le H1 et 70 avec img. Ensuite, choisissez au hasard un élément sur chaque chargement, peut-être avec rand().

Il y a probablement de meilleures solutions :-)

+0

Ce ne serait pas une bonne pratique car elle est très désordonnée. Mais merci quand même @martin –

+0

C'est une façon très inefficace et compliquée d'obtenir une valeur aléatoire de% !! –

1

Vous pouvez utiliser la fonction rand pour obtenir 30% de fois un ensemble variable vrai, et en fonction de cette variable affiche le h1 ou img

http://php.net/manual/es/function.rand.php

<div> 
<?php 
    if (rand(0, 100) <= 30){ 
    echo "<h1>...</h1>"; 
    } 
    else{ 
    echo "<img... />"; 
    } 
?> 
</div>