Besoin d'aide sur erreur

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjours à tous,

Aujourd'hui je me suis lancé dans un exercice en php, le but de cette exercice est de tirer aléatoirement un élément d'un tableau et chaque éléments du tableau a ces propre probabilité d’être tiré au sort, mais je me retrouve face a une erreur qui me bloque pas mal… l'erreur est celle ci :

Notice: Undefined offset: 0 in C:\UwAmp\www\myhost-exemple\etape_une.php on line 24
Notice: Undefined offset: 1 in C:\UwAmp\www\myhost-exemple\etape_une.php on line 24

Notice: Undefined offset: 2 in C:\UwAmp\www\myhost-exemple\etape_une.php on line 24
Notice: Undefined offset: 3 in C:\UwAmp\www\myhost-exemple\etape_une.php on line 24

Si quel qu'un pourrait m'expliquer mon erreur je lui en serais reconnaissant, voici le code que j'ai écris :

 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
<?php
// On crée notre tableau avec les resultats du sondage
$sondage = array (
    'Adidas' => 153,
    'converse' => 193,
    'Nike' => 124,
    'Asics' => 67);
//on récupére le nombre total de votant
$votant=array_values($sondage);
$totalVotant = array_sum($votant);
//on crée un tableau contenant les chances de tirage pour chaque marque
$proba = array();
foreach ($sondage as $key => $value) {
    $probabilite = 100 * $value / $totalVotant;
    array_push($proba, $probabilite);
}
//on crée notre function permettant de tirer aléatoirement une marque du sondage
function tirageAleatoire($sondage,$proba)
{
    $tab=array();
    $nb=count($sondage);
    $borne=0;
    for ($i=0;$i<$nb;$i++) {
        $tab[]=array('borne' => $borne,'cas' =>$sondage[$i]);
        $borne+=$proba[$i];
    }

    $valeur=rand(1,100);
    return ($valeur);
}

tirageAleatoire($sondage,$proba);
?>
+0 -0
Staff

La tableau "sondage" n'a pas d'index numérique, uniquement des clefs style "Adidas". Du coup quand tu essaie de faire $sondage[$i] avec $i qui va de 0 à 4 (inclus) il te dit qu'il ne peut pas trouver les indices concernés.

il faut en fait que tu appelles ta fonction tirageAleatoire avec pour paramètre array_keys($sondage) à la place de $sondage seul.

+0 -0

Bonjours à tous,

Svp,

j'ai fait recemment des modifications de mon code index.php et depuis lors je n'arrive plus à me connecté en local.Quand je lance localhost ou 127.0.0.1 voici le message qui s'affiche:

Forbidden

You don't have permission to access / on this server.

Apache/2.4.17 (Win64) PHP/5.6.16 Server at localhost Port 80

Mais j'ai accès à phpmyadmin

Je vous remercie d'avance

Édité par bsoumaila11@gmail.com

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte