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

Reply via email to