Choisir une ligne dans un array

Résolu
Bonjour,

J'ai un code :

$img = array(
   0 => array("test1", "test1"),
   1 => array("test2", "test2"),
   ....



Je me demande si il est possible de choisir une ligne en particulier du style

$ img = array(1)

Merci encore une fois pour votre aide

7 réponses

  1. Salut,

    Tu veux dire quoi par une ligne en particulier ?

    array est un mot clé, si tu fait :
    $img = array(1); 

    ça va juste créer un tableau contenant la valeur "1" dans la ligne 0.

    Mettez en résolu quand c'est résolu -.- ...
    0
    1. Bonjour Joos,

      Je voudrais en gros dire

      If ( $file == "page.php" ) 	    
      {
      // tu dois prendre en compte la ligne x de array (1 => array("test2", "test2"),) par exemple
      } 
      0
      1. $img = array(
           0 => array("test1", "test1"),
           1 => array("test2", "test2")
        );

        Lorsque tu écrit ceci, $img devient une référence vers le tableau que tu a créer !

        Donc pour accéder a un élément de ce tableau, tu dois passer par sa référence.
        echo $img[0][0]; // Affichera "test1"
        echo $img[0][1]; // Affichera "test2"
        echo $img[1][0]; // Affichera "test3"
        0
      2. l'explication est bonne mais dans ton exemple :
        echo $img[0][0]; // Affichera "test1"
        echo $img[0][1]; // Affichera "test1"
        echo $img[1][0]; // Affichera "test2"
        0
      3. Voila, j'ai pas lu complètement les données du tableau !
        J'ai supposer qu'il y avait test1, test2, test3 et test4.
        0
    2. Merci pour votre aide,

      Par contre cela me renvoie une valeur au hasard si j'écris :

      If ( $file == "mapage.php" ) 	    
      {
      $titre = $img[32][1];
      $description = $img[32][2];
      $lien = $img[32][3];
      } 
      
      0
      1. Au hasard ?!
        0
    3. Oui au hasard
      0
      1. Ben explique, un exemple !

        Ou dis nous ce que t'essaye de faire !
        0
    4. Merci pour ton aide Joos finalement cela fonctionne parfaitement.
      0
      1. Maintenant que j'ai tableau multidimensionnel il faudrait que je puisse dire que sur la page A il affiche les 50 premières entrées et sur la page B les 50 suivantes.

        Mon tableau :
        $img = array(
           0 => array("info 1", "info 2"),
           1 => array("info 1", "info 2"),
           2 => array("info 1", "info 2")
        


        J'ai lu la doc sur la commande array_splice mais quand je l'utilise avec mon tableau il me renvoie ARRAY.

        $page = array_slice($img, 0, 50);


        Merci d'avance à ceux qui m'aideront.
        0
        1. Et alors, array_slice te retourne un sous tableau du tableau original !

          donc pour afficher, il faut que tu parcours le sous tableau.

          Bref, tu peux faire tout ça directement avec une boucle "for".
          //Page A : 
          for($i=0; $i<50; $i++) echo 'Case 1 : ' . $img[$i][0] . ', Case 2 : ' . $img[$i][1] . '<br />'; 
          
          //Page B 
          for($i=50; $i<100; $i++) echo 'Case 1 : ' . $img[$i][0] . ', Case 2 : ' . $img[$i][1] . '<br />';


          Ou, a ta façon ...
          $pageA = array_slice($img, 0, 50); 
          $pageB = array_slice($img, 50, 50); 
          //Page A 
          for($i=0; $i<50; $i++) echo 'Case 1 : ' . $pageA [$i][0] . ', Case 2 : ' . $pageA [$i][1] . '<br />'; 
          
          //Page B 
          for($i=0; $i<50; $i++) echo 'Case 1 : ' . $pageB [$i][0] . ', Case 2 : ' . $pageB [$i][1] . '<br />';
          0
      2. Encore une fois merci pour ton aide Joos.
        0