Bon soir Etienne, Like I say, "Inverting" an array is a chore, it's far easier to invert the pointers... but if you must do it:-
For loop to control the first dimension using $i For loop to control the second dimension using $j $temp = $array[ $i ][ $j ]; $array[ $i ][ $j ] = $array[ $j ][ $i ]; $array[ $j ][ $i ] = $temp; Ok? =dn > thx a lot for your answer, > > in fact i only have to return one of the 15 datas, so it makes one column... > anyway, i already coded a solution with a while. My question was just to > know if it was possible to do it without repeating 1000000 times the same > processing. > > In fact i begin to believe that it is not possible to reverse the 2 > dimensions of an array... > > If you have a solution for me i m interested, even if it takes a lot of > processor ressources because i will have a dedicated server and there wont > be more than 30 users, not at the same time (that s for a stat intranet)... > just to correct my unprecision again, there will be 1M datas to process not > 15 because the array i ve to process is the result of my mysql query and > that this query will only return a single column of datas (count(*) ) > > Helllpppp :) > > Etienne > > > ----- Original Message ----- > From: "DL Neil" <[EMAIL PROTECTED]> > To: "Etienne Durand" <[EMAIL PROTECTED]> > Cc: <[EMAIL PROTECTED]> > Sent: Thursday, January 31, 2002 10:44 AM > Subject: Re: [PHP-DB] how to reverse a hudge multidimensional array? > > > > Etienne, > > > > > Well i hope someone will be able to give me a solution... > > > Here s my problem: > > > I'm working with a hudge mysql table (about 15 columns and 1000000 > rows...) > > > > > > in fact i ve got to count the number of couples `ncompte`/`naffaire` in > the > > > table and finaly calculate the number of couples that appear once, > twice.... > > > > > > here is the query i do: > > > $result = mysql_query("SELECT count(*) FROM datas GROUP BY `ncompte`, > > > `naffaire`"); > > > > > > its result like something like this: > > > count(*) naffaire ncompte > > > 4 affaire1 compte1 > > > 4 affaire2 compte2 > > > 1 affaire3 compte3 > > > 2 affaire4 compte4 > > > 1 affaire5 compte5 > > > > > > (plus many more) > > > > > > > > > my final result should be: > > > $result[1] : 2 > > > $result[2] : 1 > > > $result[4] : 2 > > > > > > I manage to do this quite easily but i use a while instruction... > > > > > > while($row = mysql_fetch_array($result)) { > > > array_push($suite, $row["count(*)"]); > > > } > > > > > > As my table is very long the while takes a lot of time to complete... > > > So my question is : Is there a solution to return my array as follow : > > > > > > 1 2 3 1 4 7 > > > 4 5 6 ===>> 2 5 8 ??? > > > 7 8 9 3 6 9 > > > > > > It would allow me to not have to use this long long while.... > > > So if someone could telle me how to modify my query or what instructions > to > > > use to do that... > > > > > > =there are various functions in PHP to 'reverse' arrays, but I must > confess that I have never used them. > > Regardless, if there is one to suit your purpose, it will surely consume > CPU time to achieve the swap-over of > > 15M items. > > > > =your example "my final result should be:" talks of enumerated arrays, so > I shall assume this is the way you > > always use them. > > > > =you want to somehow achieve: > > array[1][1] = array [1][1]; > > array[1][2] = array [2][1]; > > array[1][3] = array [3][1]; > > etc > > (you know that you can't do the above, right!?) > > > > =thereafter the array would be processed by using a mechanism such as two > nested FOR loops to iterate through > > the row/column elements of the array, eg > > > > for ( i=1; i<15; i++ ); > > for ( j=1; j<1000000; j++ ); > > process( array[i][j] ); > > etc > > > > =can you leave the array where it is, and adjust the way the iterations > are managed? Instead of proceeding > > methodically by counting 'up', count 'down', eg > > > > for ( i=15; i>0; i-- ); > > for ( j=1000000; j>0; j-- ); > > process( array[i][j] ); > > etc > > > > =Regards, > > =dn > > > > > > > > > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] > > -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]