[PHP] fonction tableau

fonction tableau [PHP] - Programmation

Marsh Posté le 16-05-2001 à 14:50:16    

J'ai un tableau : $tab de la forme:
   
indice   $tab[0]  $tab[1]
  1       1254    145    
  2       4567     21  
  3       7890    126
  4       0123    148
  5       3456      3
...
Comment est-ce que je peut avoir l'indice de la ligne où tab[0] vaut 7890 cad 3?
Est-ce qu'il y a une fonction qui me permetrai sinon de renvoyer l'indice au moins de m'en sortir sans le parcourir?

Reply

Marsh Posté le 16-05-2001 à 14:50:16   

Reply

Marsh Posté le 16-05-2001 à 15:01:27    

DOC PHP :  
 

Code :
  1. array_search
  2. (PHP 4 >= 4.0.5)
  3. array_search --  Recherche dans un tableau la clé associée à une valeur
  4. Description
  5. mixed array_search (mixed needle, array haystack, bool strict)
  6. array_search() recherche needle dans haystack et retourne la clé associée s'il la trouve, ou FALSE sinon.
  7. Si le troisième paramètre strict vaut TRUE, alors array_search() s'assurera aussi que le type de needle est le même que celui de la valeur trouvée dans haystack.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 16-05-2001 à 15:12:30    

J'ai essayé déjà cette fonction et  
 
echo array_search(7890,$tableau); ne renvoi rien,
echo array_search("7890",$tableau);ne renvoi rien non plus, tout comme :
echo array_search('7890',$tableau); et  
echo array_search(7890,$tableau[0]); et
echo array_search('7890',$tableau[0]); et
echo array_search("7890",$tableau[0]);
 
Ou je n'ai pas compris comment elle marche. Je pensais que ça marchais mais avec des tableaux à une dimension.

Reply

Marsh Posté le 16-05-2001 à 15:18:09    

t'es en php > 4.0.5 shinji ???


---------------
Do androïds dream of electric sheep ?
Reply

Marsh Posté le 16-05-2001 à 15:23:10    

NIcotine : version 4.0.5
Elle est sortie la 4.0.6???
Sinon pourquoi ta question?

Reply

Marsh Posté le 16-05-2001 à 15:41:55    

A cause de moi ! array_search() : PHP >= 4.0.5
 
D'autre part, j'ai l'impression qu'array_search() renvoie la CLEF d'un tableau, pas l'indice !
C'est donc fait pour les tableaux associatif, il me semble.
Je cherche encore...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 16-05-2001 à 15:46:01    

Ok!
Et justement entre paranthèses, elle est prévue pour quand la version 4.0.6?
Merci Mara's dad, je cherche aussi!

Reply

Marsh Posté le 16-05-2001 à 15:51:15    

Sinon, reste à écrire la fonction qui manque !
 

Code :
  1. function array_find($array,$search)
  2. {
  3.    for ($i = 0; $i < count($array); $i++)
  4.    {
  5.       if( $array[$i] == $search ) return $i;
  6.    }
  7.    return 0;
  8. }


 
C'est tout de même pas le bout du monde !
 
Mais je comprends ton point de vue. Une fonction interne à PHP serait sans doute plus rapide!


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 16-05-2001 à 16:22:11    

regarde l'aide de nexen sur la fonction array_keys, ca pourra peut-etre t'aider
http://dev.nexen.net/docs/php/anno [...] y-keys.php
 
Quoi qu'il en soit la fonction de Mara's Dad est tout aussi simple si pas plus :)


---------------
Moi, quand on m'en fait trop j'correctionne plus : j'dynamite, j'disperse, j'ventile. (tontons flingueurs)
Reply

Marsh Posté le 16-05-2001 à 16:28:51    

Ouais t'embête pas, je vais la faire mais comme tu dit, ça irai plus vite, surtout que j'assaye d'optimiser à donf parce que dans le même script, je me connecte à une base de données, j'interprète des données XML conséquentes et je trace une carte avec plein de polygones. Du coup, la page met 10-12 sec avant de s'afficher!
Est-ce que tu sais si on peut compiler du code pour qu'il aille plus vite (je suis sous Win98, en stage)?
Merci

Reply

Marsh Posté le 16-05-2001 à 16:28:51   

Reply

Marsh Posté le 16-05-2001 à 23:13:47    

Ma solution serait d'overclocker le serveur, mais bon pas sur que tes boss soient d'accord...Demande quand meme :D


---------------
La classe Américaine, c'est Georges Abidbol!
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed