On Tue, Nov 25, 2003 at 03:45:11PM -0500, Curtis Maurand wrote: : : Hello, : consider the following code (content.txt is tab delimited). : : $city = "Ipswitch"; : $content = fopen("content.txt", "r"); : $city_found = 0; : while (!feof($content) && $city_found == 0) : { : $my_line = fgets($content, "r"); : $content_array = explode("\t",$my_line); : if ($content_array == $city) : { : print("Matched on $content_array[0]"); : $city_found = 1; : } : } : print("$content_array[0]<br>\n"); : : Here's the trouble. : : inside the while loop $content_array is available to me. : outside the loop $content_array is not available. What : am I doing wrong?
Your if statement is wrong. You can't compare an array with a string. And your $content_array is not guaranteed to exist when it reaches your print() statement. You can test for existence with is_array(). But you already have this knowledge via your $city_found variable. Use it. Here's a revision (untested): $city = "Ipswitch"; $content = fopen("content.txt", "r"); $city_found = false; while (!feof($content)) { $my_line = fgets($content, "r"); $content_array = explode("\t",$my_line); if ($content_array[0] == $city) { print("Matched on $content_array[0]"); $city_found = true; break; } } if ($city_found) { print("$content_array[0]<br>\n"); } -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php