Accès à une donnée d'un Array multidimensionnel

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Accès à une donnée d'un Array multidimensionnel

Re: Accès à une donnée d'un Array multidimensionnel

par Babali » 17 mai 2011, 20:08

Si c'est faisable et je m'en vais tester cela tout de suite.
Merci

Re: Accès à une donnée d'un Array multidimensionnel

par Ryle » 17 mai 2011, 18:47

N'as-tu pas moyen de coller un index à chaque ligne quand tu construis le tableau ?
$tableau= array( 
  "TOTO" => array("TOTO", "VAR", 15),
  "TITI" => array("TITI", "NUM", 25),
  "TUTU" => array("TUTU", "VAR", 35) 
); 
Tu pourrais ainsi facilement retrouver ta valeur :
echo $tableau["TUTU"][2]; // affiche 35

Re: Accès à une donnée d'un Array multidimensionnel

par Babali » 17 mai 2011, 14:43

Merci je vais tester ta fonction

Re: Accès à une donnée d'un Array multidimensionnel

par xTG » 17 mai 2011, 13:28

Je pense que tu as du en tester te rendre compte que ça ne fonctionnait pas. ^^

Voilà une solution pour une structure fixe :
<?php
$tableau= array( array("TOTO", "VAR", 15),
               array("TITI", "NUM", 25),
               array("TUTU", "VAR", 35)
             ); 
$recherche = "TITI";
function recherche($recherche, &$tableau)
{
	foreach($tableau as $key => $val)
	{
		if( isSet($val[0]) && $val[0] == $recherche )
			return $key;
	}
	return null;
}

$index = recherche($recherche,$tableau);
if( $index != null && isSet($tableau[$index][2]) )
	echo $tableau[$index][2];

Accès à une donnée d'un Array multidimensionnel

par Babali » 17 mai 2011, 12:28

Bonjour,

Voici mon problème existentialiste du jour.

J'ai un tableau multidimensionnel
$tableau= array( array("TOTO", "VAR", 15),
               array("TITI", "NUM", 25),
               array("TUTU", "VAR", 35) 
             ); 
Les lignes et colonnes du tableaux sont alimentée directement avec une boucle sur une requête SQL.

Je souhaiterais pouvoir afficher la 3ième colonne d'une ligne dont je connais la valeur présente dans la première colonne du tableau
Exemple : Je voudrais afficher la 3ième colonne de "TITI" (le tableau étant alimenté dynamiquement, je ne connais pas par avance la position de la ligne "TITI" dans le tableau.

Est ce que ce type de code fonctionnerait, ou existe t'il quelque chose de plus simple ?
echo $tableau[(array_search('TITI', $tableau) )][2] ;