Random Links bei jedem Link neu gemischt


klausi89

Erfahrenes Mitglied
#1
Hallo kann mir bitte mal jemand helfen.....gibt es eine Möglichkeit dieses zu vereinfachen ???

Ich möchte gerne das jeder Link immer einen neuen Random auswählt.
hab schon mal was gemacht das funktioniert auch aber ich finde es sehr unübersichtlich...

mein Code:

PHP:
$url1 = 'http://shortlink1.io';
$url2 = 'http://shortlink2.com';
$url3 = 'http://shortlink3.net';

$a = [ $url1, $url2, $url3];
$url = $a[mt_rand(0, count($a) - 1)];

// ---------------------------------------------------------------------------------------------------------------------------------

$link1 = "{$url}/f6megU";             
$url = $a[mt_rand(0, count($a) - 1)];
$link2 = "{$url}/f79NuLg";   
$url = $a[mt_rand(0, count($a) - 1)];
$link3 = "{$url}/buXWOqdr";           
$url = $a[mt_rand(0, count($a) - 1)];
$link4 = "{$url}/adK93R";               
$url = $a[mt_rand(0, count($a) - 1)];
$link5 = "{$url}/CEDEU";               
$url = $a[mt_rand(0, count($a) - 1)];
$link6 = "{$url}/X8oF";                
$url = $a[mt_rand(0, count($a) - 1)];
$link7 = "{$url}/7LyVF";               
$url = $a[mt_rand(0, count($a) - 1)];
$link8 = "{$url}/alK971";               
$url = $a[mt_rand(0, count($a) - 1)];
$link9 = "{$url}/ToZek";
Es soll quasi immer ein anderer Link von Url1, Url2 bzw. Url3 ausgewählt werden.

Gibt es da eine Übersichtlichere Lösung, das man nicht nach jedem Link neu mischen muss sondern das generell jeder link dann auch eine andere Url auswählt. Es funktioniert so wie gesagt aber es ist sehr unübersichtlich.

die Links werden dann noch weiterverarbeitet nach diesem Bsp.

PHP:
$linkone='<a href="'.$link1.'" rel="nofollow" target="_blank" title="shortlink">
<img alt="!!!!!!!!! Network" src="http://www.example.com/banner/beispiel.png" width="80" height="16" title="Example"></a>';
Aufruf dann eben einfach so.....

PHP:
echo $linkone;
Danke schonmal.
 

merzi86

Erfahrenes Mitglied
#2
Hallo klausi,
eine Übersichtlichere Variante für die Anforderung so wird es wahrschinlich nicht wirklich geben.
Du könntest dir vielleicht ein paar Zeilen sparen, wenn die Variable nicht immer mehr setzt, aber sonst sieht es schlecht aus-

Eine Variante wäre z.B. so:
PHP:
$url1 = 'http://shortlink1.io';
$url2 = 'http://shortlink2.com';
$url3 = 'http://shortlink3.net';

$a = [ $url1, $url2, $url3];

// ---------------------------------------------------------------------------------------------------------------------------------

$link1 = sprintf("%s/f6megU", $a[mt_rand(0, count($a) - 1)]);
$link2 = sprintf("%s/f79NuLg", $a[mt_rand(0, count($a) - 1)]);
$link3 = sprintf("%s/buXWOqdr", $a[mt_rand(0, count($a) - 1)]);
$link4 = sprintf("%s/adK93R", $a[mt_rand(0, count($a) - 1)]);
$link5 = sprintf("%s/CEDEU", $a[mt_rand(0, count($a) - 1)]);
$link6 = sprintf("%s/X8oF", $a[mt_rand(0, count($a) - 1)]);
$link7 = sprintf("%s/7LyVF", $a[mt_rand(0, count($a) - 1)]);
$link8 = sprintf("%s/alK971", $a[mt_rand(0, count($a) - 1)]);
$link9 = sprintf("%s/ToZek", $a[mt_rand(0, count($a) - 1)]);
Ob du nun das als Übersichtlicher empfindest oder deine ist eine andere Sache.
Es sind jedenfalls weniger Zeilen. ;)

Alternativ könntest du die Link Rückgabe in eine Funktion auslagern so. z.B.

PHP:
function getRandomLink( ) {
   $url1 = 'http://shortlink1.io';
   $url2 = 'http://shortlink2.com';
   $url3 = 'http://shortlink3.net';

   $a = [ $url1, $url2, $url3];
   return $a[mt_rand(0, count($a) - 1)];
}

// ---------------------------------------------------------------------------------------------------------------------------------

$link1 = sprintf("%s/f6megU", getRandomLink( ));
$link2 = sprintf("%s/f79NuLg", getRandomLink( ));
$link3 = sprintf("%s/buXWOqdr", getRandomLink( ));
$link4 = sprintf("%s/adK93R", getRandomLink( ));
$link5 = sprintf("%s/CEDEU", getRandomLink( ));
$link6 = sprintf("%s/X8oF", getRandomLink( ));
$link7 = sprintf("%s/7LyVF", getRandomLink( ));
$link8 = sprintf("%s/alK971", getRandomLink( ));
$link9 = sprintf("%s/ToZek", getRandomLink( ));
 

Neue Beiträge