Goede dag.
Onderstaande kom ik niet uit.
Ik moet het ene plaatje vaker laten zien dan het andere plaatje. Bijvoorbeeld het ene plaatje 50% van de keren, andere 20% en overige 10%.
Hoe kan ik dat doen?

Hieronder het script zoals ik het nu heb en dus uitgebreid moet worden met bovenstaande. Ik heb al vanalles bekeken en geprobeerd maar zonder het gewenste resultaat. Zal vast heel makkelijk zijn omdat ik vaak te moeilijk na denkn.

<?php
// Random Image With Link
function display_random_img($array) {
$key = rand(0 , count($array) -1);
$link_url = $array[$key]['url'];
$alt_tag = $array[$key]['alt'];
$random_img_url = $array[$key]['img_url'];
list($img_width, $img_height) = getimagesize($random_img_url);
return "<a href=\"$link_url\"><img src=\"$random_img_url\" width=\"$img_width\" height=\"$img_height\" alt=\"$alt_tag\" /></a>";
}

// Hier staat de informatie van de plaatjes
$images_array = array(
array(
'url' => 'http://g-voetbal.eu/',
'alt' => 'Suzanne trapt de bal op g-voetbaldag Barendrecht',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg'
),
array(
'url' => 'http://g-voetbal.eu/wat-is-g-voetbal/',
'alt' => 'Suzanne lacht tijdens toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/196192_10150950009280238_1807472408_n.jpg'
),
array(
'url' => 'http://g-voetbal.eu/mij/',
'alt' => 'Suzanne trapt de bal tijdens internationaal toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2014/10/1918353_197460475237_6263653_n.jpg'
)
);

echo display_random_img($images_array);
?>
Dankjewel San The. Ik ben erachter dat ik slordig ben. IK moet echt beter opletten met de $ en de afsluiting en opening.

Hij doet het nog niet helemaal maar ik zoek het nog wel verder uit. Mocht het niet lukken horen jullie het.
Nu even rust nemen. Ik kan het even niet meer zien haha.
Klopt regel 32 wel?
-> echo $percentage ($images_array);
Moet dat niet zijn:
-> echo $images;
lijkt mij dat regel 32 $images_array moet zijn aangezien er nergens $images staat. Maar hij doet het nog steeds niet.
Geeft nu deze foutmelding: Array to string conversion in D:\wamp\www\IWP\Opdracht13.php on line 37

IK ga nu echt even relaxen. Misschien dat ik daarna de fout wel zie.
Het moet inderdaad $image zijn, dus zonder 's'
En een array echo-en werkt inderdaad niet.
En als je doet -> print_r ($image);
Wat krijg je dan?
Helaas nog steeds een foutmelding. syntax error, unexpected '$image' (T_VARIABLE) in D:\wamp\www\IWP\Opdracht13.php on line 37
Dat is bij print_r $image;

Mijn code is nu. Zal wel iets heel stoms vergeten zijn.

<?php
// Hier staat de informatie van de plaatjes
$images_array = array(
array(
'url' => 'http://g-voetbal.eu/',
'alt' => 'Suzanne trapt de bal op g-voetbaldag Barendrecht',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg'
),
array(
'url' => 'http://g-voetbal.eu/wat-is-g-voetbal/',
'alt' => 'Suzanne lacht tijdens toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/196192_10150950009280238_1807472408_n.jpg'
),
array(
'url' => 'http://g-voetbal.eu/mij/',
'alt' => 'Suzanne trapt de bal tijdens internationaal toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2014/10/1918353_197460475237_6263653_n.jpg'
)
);
// Percentages/kansen verdelen van 1 t/m 80:
$percentage = mt_rand(1, 80);
if ($percentage <= 50) {
// Kans 50%
$image = $images_array[0];
} elseif ($percentage <= 70){
// Kans 70% - 50% = 20%:
$image = $images_array[1];
} else {
// Restkans 80% - 70% = 10%:
$image = $images_array[2];
}
print_r $image;
?>
En met haakjes? -> print_r ($image);
Gebruik $image['img_url']
Nope helaas werkt niet. Krijg nog steeds dezelfde uitvoer.
Met het volgende krijg de gegevens voor je plaatje uit de verschillende arrays:

echo $image['url'];
echo '<br>';
echo $image['alt'];
echo '<br>';
echo $image['img_url'];

Die moeten vervolgens weer in de html geplaatst worden.

Reageren