Solved

need to reverse order in php for loop

Posted on 2007-11-18
4
1,133 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

ScreenConnect 6.0 Free Trial

Check out the updates in one game-changing release, ScreenConnect 6.0, based on partner feedback. New features include a redesigned UI that improves session organization and overall user experience. See the enhancements for yourself!

Question has a verified solution.

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

Author Note: Since this E-E article was originally written, years ago, formal testing has come into common use in the world of PHP.  PHPUnit (http://en.wikipedia.org/wiki/PHPUnit) and similar technologies have enjoyed wide adoption, making it possib…
Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
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…
The viewer will learn how to create a basic form using some HTML5 and PHP for later processing. Set up your basic HTML file. Open your form tag and set the method and action attributes.: (CODE) Set up your first few inputs one for the name and …

770 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