Solved

need to reverse order in php for loop

Posted on 2007-11-18
4
1,132 Views
Last Modified: 2008-02-01
the following is a for loop, i created a select box values show as
1995
1996
1997
1998

I would like it to be

1998
1997
1996
1995


what do I need to do to my code ?

$cbbYearArray = array("R","S","T","V","W","X","Y","1","2","3","4","5","6","7","8","9");

	$yearArray = array("1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009");

	

//	$startYearString = "<select name='autoYear' class=\"textboxesAutoInfo\" onchange=\"changeYear()\"><option value=''></option>";	

	$getCBByearsQueryStr = "SELECT DISTINCT(data2) FROM cbb ORDER BY data2";

//	echo $getCBByearsQueryStr;

	$getCBByearsQuery = mysql_query($getCBByearsQueryStr) or die();

	$the_strings = array();

	while($getCBByearsResult = mysql_fetch_object($getCBByearsQuery))

	{

		for($i=0; $i <=sizeof($cbbYearArray); $i++)

		{

			if($getCBByearsResult->data2 == $cbbYearArray[$i])

			{

				if($autoYear == $cbbYearArray[$i])

				{

					$the_strings[$i] = "<option value='" . $yearArray[$i] . $cbbYearArray[$i] . "' selected>" . $yearArray[$i] . "</option>" . chr(13);

				}

				else

				{

					$the_strings[$i] = "<option value='" . $yearArray[$i] . $cbbYearArray[$i] . "'>" . $yearArray[$i] . "</option>" . chr(13);

				}

				

			}

		}

	}

	$the_strings_sorted = array_unique ($the_strings) ;

	for ($i=0; $i <=sizeof($the_strings_sorted); $i++)

	{

		$cbbsStartYearString .= $the_strings_sorted[$i];

		$cbbeEndYearString .= $the_strings_sorted[$i];

	}

Open in new window

0
Comment
Question by:bdipasquale
  • 3
4 Comments
 
LVL 20

Expert Comment

by:steelseth12
ID: 20308575
reverse your arrays

$cbbYearArray = array("R","S","T","V","W","X","Y","1","2","3","4","5","6","7","8","9");
 $yearArray = array("1994","1995","1996","1997","1998","1999","2000","2001","2002","2003","2004","2005","2006","2007","2008","2009");
            
            $yearArray = array_reverse($yearArray);
            
            $cbbYearArray  = array_reverse($cbbYearArray);
0
 

Author Comment

by:bdipasquale
ID: 20308599
Im concentrating on the 2nd array, I thought it might be easier to reverse the for loop due to the sorting ???
0
 
LVL 20

Accepted Solution

by:
steelseth12 earned 500 total points
ID: 20308608
You could do
for($i=count($cbbYearArray); $i  > 0; $i--)

From what i can see the values of 1st array are relates to the 2nd array so if you are going to reverse the array you have to reverse both of them.
0
 
LVL 20

Expert Comment

by:steelseth12
ID: 20308621
small correction because the first index of an array is zero .

 for($i=count($cbbYearArray) -1 ; $i  >= 0; $i--)
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This article will explain how to display the first page of your Microsoft Word documents (e.g. .doc, .docx, etc...) as images in a web page programatically. I have scoured the web on a way to do this unsuccessfully. The goal is to produce something …
Foreword (July, 2015) Since I first wrote this article, years ago, a great many more people have begun using the internet.  They are coming online from every part of the globe, learning, reading, shopping and spending money at an ever-increasing ra…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

920 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now