Help ! tableau php je ne comprends rien :(

Avatar du membre
Mammouth du PHP | 1609 Messages

17 mai 2016, 19:39

Alors quand tu lis ça : j <- NB(tab)
En langage courant on dirait "affecter la longueur (le nombre d'éléments dans le tableau) du tableau tab à la variable j".
L'opérateur d'affectation d'une valeur dans une variable de php c'est le = et la fonction pour compter le nombre d'éléments d'un tableau est count().
Ce qui s'écrit donc en php :
$j = count($tab);
Tu as donc pour l'instant :
$tab = array(7, 7, 6, 6, 3, 3);// affecte le tableau [7] [7] [6] [6] [3] [3] à la variable $tab
$j = count($tab);// affecte la longuer du tableau tab à la variable j
Si tu comprends tu devrais être capable d'écrire la suite à part peut être la boucle TANT QUE qui s'écrit en php while(condition).
Développeur web depuis + de 20 ans

Avatar du membre
Mammouth du PHP | 1609 Messages

17 mai 2016, 19:46

j <- NB(tab) // affecter la longuer du tableau tab à la variable j
i <- 0 // affecter 0 à la variable i

TANT QUE  ( i < NB ( tab )) // tant que la variable i est strictement inférieur à la longueur du tableau tab
    tab [i] <- j // affecter la valeur de la variable j à l'index de valeur i du tableau tab
    i <- i+1 // incrémenter la variable i de 1
    j <- j-1 // décrémenter la variable j de 1
FIN TANT QUE
T'as bien écouté ton professeur ? j'ai comme un doute :P
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 10 Messages

18 mai 2016, 14:21

j <- NB(tab) // affecter la longuer du tableau tab à la variable j
i <- 0 // affecter 0 à la variable i

TANT QUE  ( i < NB ( tab )) // tant que la variable i est strictement inférieur à la longueur du tableau tab
    tab [i] <- j // affecter la valeur de la variable j à l'index de valeur i du tableau tab
    i <- i+1 // incrémenter la variable i de 1
    j <- j-1 // décrémenter la variable j de 1
FIN TANT QUE
T'as bien écouté ton professeur ? j'ai comme un doute :P
Clairement plus clair ! merci ! :-) mais je bloque au niveau du
tab [i] <- J
que cela signifie t'il en français ? ou encore comment interpréter cela ?

Avatar du membre
Mammouth du PHP | 1609 Messages

18 mai 2016, 14:48

Alors un tableau c'est un ensemble d'éléments et donc si tu veux accéder à un élément précis du tableau, il faut un moyen pour le cibler. C'est la qu'intervient la notion d'indexation.

Le tableau tab de départ de l'exercice peut être représenté comme ceci :
Array
(
    [0] => 7
    [1] => 7
    [2] => 6
    [3] => 6
    [4] => 3
    [5] => 3
)
Tu retrouves bien les différentes valeurs 7 7 6 6 3 3 et chacune se voit attribuer un index, index commençant à 0 et s'incrémentant de 1 pour chaque nouvel élément.

Ainsi si tu veux par exemple accéder au 3ème élément du tableau, on va l'écrire en algorithmie tab[2], la valeur de l'index étant 2 (pour le 3ème rang) et la valeur de tab[2] étant 6.
tab[i] <- j // affecter la valeur de la variable j à l'index de valeur i du tableau tab
Donc concrètement, si i est égal à 0 et j est égal à 6 ça revient à affecter la valeur 6 au premier rang (index 0) du tableau tab.
Soit :
tab[0] <- 6
Le tableau deviendrait donc :
Array
(
    [0] => 6
    [1] => 7
    [2] => 6
    [3] => 6
    [4] => 3
    [5] => 3
)
La valeur à l'index 0 est devenue 6.
J'espère que c'est plus clair pour toi. :)
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 10 Messages

18 mai 2016, 19:53

Alors un tableau c'est un ensemble d'éléments et donc si tu veux accéder à un élément précis du tableau, il faut un moyen pour le cibler. C'est la qu'intervient la notion d'indexation.

Le tableau tab de départ de l'exercice peut être représenté comme ceci :
Array
(
    [0] => 7
    [1] => 7
    [2] => 6
    [3] => 6
    [4] => 3
    [5] => 3
)
Tu retrouves bien les différentes valeurs 7 7 6 6 3 3 et chacune se voit attribuer un index, index commençant à 0 et s'incrémentant de 1 pour chaque nouvel élément.

Ainsi si tu veux par exemple accéder au 3ème élément du tableau, on va l'écrire en algorithmie tab[2], la valeur de l'index étant 2 (pour le 3ème rang) et la valeur de tab[2] étant 6.
tab[i] <- j // affecter la valeur de la variable j à l'index de valeur i du tableau tab
Donc concrètement, si i est égal à 0 et j est égal à 6 ça revient à affecter la valeur 6 au premier rang (index 0) du tableau tab.
Soit :
tab[0] <- 6
Le tableau deviendrait donc :
Array
(
    [0] => 6
    [1] => 7
    [2] => 6
    [3] => 6
    [4] => 3
    [5] => 3
)
La valeur à l'index 0 est devenue 6.
J'espère que c'est plus clair pour toi. :)

Merci bcp !! j'ai enfin compris ! donc ensuite pour l'incrémentation ( +1 ) et à la fin cela donne une sorte de compte à rebours c'est bien cela ?

merci bcp