Choisir une ligne dans un array

Résolu/Fermé
Php my win - 15 févr. 2013 à 20:58
 Php my win - 17 févr. 2013 à 15:38
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
A voir également:

7 réponses

JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 15/02/2013 à 21:43
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
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
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
16 févr. 2013 à 00:20
$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
Profil bloqué
16 févr. 2013 à 00:23
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
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 16/02/2013 à 13:33
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
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
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
16 févr. 2013 à 13:34
Au hasard ?!
0
Oui au hasard
0
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
16 févr. 2013 à 15:44
Ben explique, un exemple !

Ou dis nous ce que t'essaye de faire !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci pour ton aide Joos finalement cela fonctionne parfaitement.
0
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
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 228
Modifié par JooS le 17/02/2013 à 10:45
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
Encore une fois merci pour ton aide Joos.
0