probleme avec un tableau a deux dimensions

probleme avec un tableau a deux dimensions - PHP - Programmation

Marsh Posté le 25-09-2002 à 22:47:06    

bonsoir
 
voila le probleme:
 
j ai un tableau a deux dim
 
$monTab[][] << il est deja remplis
 
j aimerai obtenir un tableau a 1 dimension qui contiens tout ce qu il y a ds les lignes et un autre qui contiens tout ce qu il y a ds les colones je sait pas si j ai été clair
j ai essayé comme ca  
 
$tab1=$monTab[][1];
$tab2=$monTab[][2];
 
 
il veux pas : Fatal error: Cannot use [] for reading in e:\www\site....
 
si vous savez comment faire vous genez pas :D


Message édité par veryfree le 25-09-2002 à 22:48:27
Reply

Marsh Posté le 25-09-2002 à 22:47:06   

Reply

Marsh Posté le 25-09-2002 à 22:49:12    


Pour un des deux c'est facile, tu peux faire un implode(), pour l'autre cas c'est plus coton, va falloir coder  :D

Reply

Marsh Posté le 25-09-2002 à 22:53:26    

zion a écrit a écrit :

 
Pour un des deux c'est facile, tu peux faire un implode(), pour l'autre cas c'est plus coton, va falloir coder  :D  




 
salut ca va t intérésser je pense, a l époque j avait demandé de l aide qd a ajouter des smileys sur mon site: tu m avais dit de faire ca:
 

for ($i=0;$i<Count($smileys);$i++)  
  {  
  $code=$smileys[$i][1];
  $img=$smileys[$i][2];
  $message= str_replace("$code","<img src='emoticon/$img' alt='$code')>",$message) ;
  }


 
 
et ca marche tres bien, mais ds ce topic , joce dit qu on peux mettre des tableaux en argument ds str_remplace
 
alors j aimerai l optimiser, c pour ca que je veux creer deux tableaux  :)  
le topic n question: http://forum.hardware.fr/forum2.ph [...] h=&subcat=


Message édité par veryfree le 25-09-2002 à 22:56:04
Reply

Marsh Posté le 25-09-2002 à 23:15:15    

veryfree a écrit a écrit :

 
 
salut ca va t intérésser je pense, a l époque j avait demandé de l aide qd a ajouter des smileys sur mon site: tu m avais dit de faire ca:
 




 
Non ca m'intéresse pas, désolé, si tu veux vraiment faire des concours de performance, un truc interprété ce sera jamais le pied qd même ;-)
 
Enfin bon, c'est pas le sujet  ;)  
 
Et avant de te casser la tête a créer un tableau poru ca, fait des benchs pour voir la différence, histoire de pas te casser le cul pour rien

Reply

Marsh Posté le 25-09-2002 à 23:26:10    

zion a écrit a écrit :

 
 
Non ca m'intéresse pas, désolé, si tu veux vraiment faire des concours de performance, un truc interprété ce sera jamais le pied qd même ;-)
 
Enfin bon, c'est pas le sujet  ;)  
 
Et avant de te casser la tête a créer un tableau poru ca, fait des benchs pour voir la différence, histoire de pas te casser le cul pour rien




 
ben je usis ki pour faire des benchs hein? ca se fait pas ocmme ca se genre de truc ...
 
sinon t a peut etre raison si ca se trouve c pas plus rapide, j en sait rien mais le code reste plus lisible et donc plus facile a maintenir...

Reply

Marsh Posté le 25-09-2002 à 23:28:55    

veryfree a écrit a écrit :

 
 
ben je usis ki pour faire des benchs hein? ca se fait pas ocmme ca se genre de truc ...
 




 
Benh si, tu fais un tableau avec 100 smileys d'un côté, et de l'autre ta boucle de 100 strreplace.
 
Puis tu rajoutes un truc pour calculer le temps de ton script, tu fais 10* le test et tu compares la moyenne.
 
C'est pas dur quand même  :D  
 
Et si le temps est trop petit, tu montes le nombre de smileys, ou tu le fais plusieurs fois.

Reply

Marsh Posté le 25-09-2002 à 23:36:49    

zion a écrit a écrit :

 
 
Benh si, tu fais un tableau avec 100 smileys d'un côté, et de l'autre ta boucle de 100 strreplace.
 
Puis tu rajoutes un truc pour calculer le temps de ton script, tu fais 10* le test et tu compares la moyenne.
 
C'est pas dur quand même  :D  
 
Et si le temps est trop petit, tu montes le nombre de smileys, ou tu le fais plusieurs fois.




 
ouai mais ce soir ca va pas etre possible :D

Reply

Marsh Posté le 26-09-2002 à 17:01:20    

:bounce:

Reply

Marsh Posté le 26-09-2002 à 17:06:03    

je tente un truc au pif je suis pas sur d'avoir tout compris  
 

Code :
  1. foreach ($montab[0] as $Key => $Val) {
  2.   $Tab1[] = $val;
  3. }


 
pareil pour le deuxième tableau mais avec $montab[1]
 
sinon pour connaitre les noms d'index (si ils sont pas numériques) un ptit print_r($montab);


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 26-09-2002 à 17:11:25    

Sh@rdar a écrit a écrit :

je tente un truc au pif je suis pas sur d'avoir tout compris  
 

Code :
  1. foreach ($montab[0] as $Key => $Val) {
  2.   $Tab1[] = $val;
  3. }


 
pareil pour le deuxième tableau mais avec $montab[1]
 
sinon pour connaitre les noms d'index (si ils sont pas numériques) un ptit print_r($montab);




 
la ca va pas aller pour deux raisons:

  • la fonction foreach n est pas suporté par free.fr
  • a la base , c etait pour eviter d avoir une boucle et la on a une boucle :/

Reply

Marsh Posté le 26-09-2002 à 17:11:25   

Reply

Marsh Posté le 26-09-2002 à 17:14:04    

foreach marche pas chez free ?? bin mince..
 
 
et sinon $montab[0] est un tableau ? donc $Tab = $Montab[0]; devrait marcher non ?


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 26-09-2002 à 17:16:50    

je confirme ça fonctionne comme ça :
 
$Tab1 = $MonTab[0];
 
à condition que l'index soit bien 0.
 
testé avec ce code simpliste :
 

Code :
  1. <?
  2. $Tableau = array (
  3.   '0' => array (1,2,3,4,5,6,7,8),
  4.   '1' => array (10,11,12,13)
  5. );
  6. $Tab = $Tableau[1];
  7. print_r ($Tab);
  8. ?>


 
ça affiche bien le tableau 10 11 12 13


Message édité par Sh@rdar le 26-09-2002 à 17:18:07

---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 26-09-2002 à 17:33:47    

Sh@rdar a écrit a écrit :

je confirme ça fonctionne comme ça :
 
$Tab1 = $MonTab[0];
 
à condition que l'index soit bien 0.
 
testé avec ce code simpliste :
 

Code :
  1. <?
  2. $Tableau = array (
  3.   '0' => array (1,2,3,4,5,6,7,8),
  4.   '1' => array (10,11,12,13)
  5. );
  6. $Tab = $Tableau[1];
  7. print_r ($Tab);
  8. ?>


 
ça affiche bien le tableau 10 11 12 13




 
mais ton tableau comporte 2 lignes et 8 colones c bien ca?

Reply

Marsh Posté le 26-09-2002 à 17:49:33    

veryfree a écrit a écrit :

 
 
la ca va pas aller pour deux raisons:

  • la fonction foreach n est pas suporté par free.fr
  • a la base , c etait pour eviter d avoir une boucle et la on a une boucle :/





 
benh tu crois qd même pas que tu vas réussir a faire les 2 sans faire de boucle  :pt1cable:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 26-09-2002 à 17:51:42    

zion a écrit a écrit :

 
 
benh tu crois qd même pas que tu vas réussir a faire les 2 sans faire de boucle  :pt1cable:  




en java on peux  :p

Reply

Marsh Posté le 26-09-2002 à 17:59:08    

veryfree a écrit a écrit :

 
en java on peux  :p  




 
 :heink:  
 
C'est pas parce que tu as une instruction pour le faire sans que tu n'écrives une boucle que ca ne fera pas une boucle derrière, c'est idiot  :pt1cable:  
 
Tu crois qd même pas qu'en faisant un implode puis de filer le tableau plutot qu'un foreach sur le tableau ca ira plus vite pour ton str_replace qd même?  :ouch:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 26-09-2002 à 18:07:31    

zion a écrit a écrit :

 
 
 :heink:  
 
C'est pas parce que tu as une instruction pour le faire sans que tu n'écrives une boucle que ca ne fera pas une boucle derrière, c'est idiot  :pt1cable:  
 
Tu crois qd même pas qu'en faisant un implode puis de filer le tableau plutot qu'un foreach sur le tableau ca ira plus vite pour ton str_replace qd même?  




 
j ai pas dit ca :o

Reply

Marsh Posté le 26-09-2002 à 18:25:46    

veryfree a écrit a écrit :

 
 
j ai pas dit ca :o




 
 :heink:  
 
 

Citation :


et ca marche tres bien, mais ds ce topic , joce dit qu on peux mettre des tableaux en argument ds str_remplace
 
alors j aimerai l optimiser, c pour ca que je veux creer deux tableaux  :)  


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 26-09-2002 à 18:27:35    

veryfree a écrit a écrit :

 
 
mais ton tableau comporte 2 lignes et 8 colones c bien ca?
 




 
et alors  :??:  :??:  :??:  ça marche quelque soit le nombre de ligne et il suffit d'ajouter une instruction par colonne ?
 
 
faudrait être un peu plus clair :??:  :??:


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 26-09-2002 à 19:17:26    

Sh@rdar a écrit a écrit :

 
 
et alors  :??:  :??:  :??:  ça marche quelque soit le nombre de ligne et il suffit d'ajouter une instruction par colonne ?
 
 
faudrait être un peu plus clair :??:  :??:  




 
dsl si j ai pas été assez clair je comprend que ce ne soit pas evident a comprendre mais moi j aurai voulu savoir si c etait possible de recupérer ds un premier tableau l ensemble des données de la premiere colone et ds un second tableau l ensemble des données de la 2 em

Reply

Marsh Posté le 27-09-2002 à 01:29:47    

La question est peut être inutile, mais pq ne pas créer le bon format de tableau tout de suite, plutôt que de vouloir les transformer/copier par la suite ?
D'ou tires tu les infos de ton tableau ?


---------------
...oups kernel error...
Reply

Marsh Posté le 27-09-2002 à 01:40:49    

ethernal a écrit a écrit :

La question est peut être inutile, mais pq ne pas créer le bon format de tableau tout de suite, plutôt que de vouloir les transformer/copier par la suite ?
D'ou tires tu les infos de ton tableau ?
 




c le resultat d une requete sql...

Reply

Marsh Posté le 27-09-2002 à 02:01:08    

bha met le direct dans 2 tableau alors...
ex:
while($res= $sql->fetch_array())
{
 $code[]= $res['code'];
 $icon[]= $res['image'];
}
$text= str_replace($code, $icon, $text);


---------------
...oups kernel error...
Reply

Marsh Posté le 27-09-2002 à 02:15:57    

ethernal a écrit a écrit :

bha met le direct dans 2 tableau alors...
ex:
while($res= $sql->fetch_array())
{
 $code[]= $res['code'];
 $icon[]= $res['image'];
}
$text= str_replace($code, $icon, $text);




 
merci pour tout c niquel comme ca  :benetton:

Reply

Marsh Posté le 27-09-2002 à 02:19:26    

veryfree a écrit a écrit :

 
 
merci pour tout c niquel comme ca  :benetton:  




 
 [:glass]  
 
Pourquoi faire simple quand on peut faire compliqué.


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 27-09-2002 à 02:36:06    

zion a écrit a écrit :

 
 
 [:glass]  
 
Pourquoi faire simple quand on peut faire compliqué.
 




 
 
toi va dormir :D
 
en fait j en ai eu besoin pour autre chose...
 
pour ce qui est de la partie des smileys,tu a raisons ca change pas grand chose alors je garde l ancien code  :o

Reply

Marsh Posté le 27-09-2002 à 02:44:38    

[:glass]  [:glass]  [:glass]  
 
Désolé  :ange:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 27-09-2002 à 08:06:11    

ohlala c'est du délire en ce moment :eek2:  :eek2:


---------------
La musique c'est comme la bouffe, tu te souviens du restaurant dans lequel t'as bien mangé 20 ans plus tôt, mais pas du sandwich d'il y a 5 minutes :o - Plugin pour winamp ©Harkonnen : http://harko.free.fr/soft
Reply

Marsh Posté le 27-09-2002 à 11:47:22    

à ton service :)
 


---------------
...oups kernel error...
Reply

Marsh Posté le 27-09-2002 à 13:48:50    

Sh@rdar a écrit a écrit :

ohlala c'est du délire en ce moment :eek2:  :eek2:  




 
c le pauvre Zion qui passe trop de temps devant son ordi, il est déconnecté de la realité le pauvre  :sarcastic:  
 

Reply

Marsh Posté le 27-09-2002 à 15:30:00    

veryfree a écrit a écrit :

 
 
c le pauvre Zion qui passe trop de temps devant son ordi, il est déconnecté de la realité le pauvre  :sarcastic:  
 
 




 
 :heink:  
 
Attends, tu fais le boolay, t'assumes  :na:


---------------
Informaticien.be - Lancez des défis à vos amis
Reply

Marsh Posté le 27-09-2002 à 15:51:49    

zion a écrit a écrit :

 
 
 :heink:  
 
Attends, tu fais le boolay, t'assumes  :na:  




[:leg9]

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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