NYCPHP Meetup

NYPHP.org

[nycphp-talk] foreach ERROR

Rob Marscher rmarscher at beaffinitive.com
Mon Jul 17 19:38:15 EDT 2006


Oh... you know what...  I didn't notice on the first read that the first 
11 lines were a function definition.

Here's what you want between line 4 and 5:

if (! is_array($sort)) { return array();  }

That should solve it hopefully :)

-Rob

CED wrote:
> The IF statement does solve the one warning...
> 
> but the foreach call including the function is still erroring.
> 
> ----- Original Message ----- 
> From: "Rob Marscher" <rmarscher at beaffinitive.com>
> To: "NYPHP Talk" <talk at lists.nyphp.org>
> Sent: Monday, July 17, 2006 5:21 PM
> Subject: Re: [nycphp-talk] foreach ERROR
> 
> 
> I'm pretty certain what's happening here is that the glob function is
> returning an empty array which is why the foreach on line 4 doesn't give
> an error, but it also doesn't set $sort to anything.
> 
> foreach requires that the first argument is an array.  So that's why you
> get errors on lines 5 and 18.  You should add a condition between line 4
> and 5 that does something like "if (! is_array($sort))" and then
> displays an empty xml doc and exits if that is the case.
> 
> -Rob
> 
> CED wrote:
>> www.EdwardPrevost.info/Audio <http://www.EdwardPrevost.info/Audio>
>>
>> You'll see the basic structure there
>> /Music is the MP3 files
>> /mp3 is the PHP file
>>
>> The error is a basic WARNING Invalid argument supplied for foreach() on
>> line 5. Same thing reported for Line 18.
>>
>>     ----- Original Message -----
>>     *From:* lists at jack-scott.com <mailto:lists at jack-scott.com>
>>     *To:* NYPHP Talk <mailto:talk at lists.nyphp.org>
>>     *Sent:* Monday, July 17, 2006 4:11 PM
>>     *Subject:* Re: [nycphp-talk] foreach ERROR
>>
>>
>>     On Mon, 2006-07-17 at 15:43 -0400, CED wrote:
>>>     Sirs,
>>>     I have used variables many times in foreach statements... and
>>>     having spent several hours tryignt o debug this I thought I'd
>>>     throw it out here:
>>>
>>>        1. <?
>>>        2. function readD($dir){
>>>        3. if(!$dir){$dir = '.';}
>>>        4. foreach(glob("$dir/*.mp3") as $item){$sort[]=
>>>           end(explode('/',$item));}
>>>        5.  foreach($sort as $sorteditem){
>>>        6.   if($sort){natsort($sort);}
>>>        7.     foreach($sort as $item){$return[]= $item;}
>>>        8.      if(!$return){return array();}
>>>        9.      }
>>>       10.   return $return;
>>>       11.   } ?>
>>>       12. <?php header("Content-type: text/xyxml") ?>
>>>       13. <? echo(' <?xml version="1.0" encoding="UTF-8"?> ') ; ?>
>>>       14. <? echo '<player showDisplay="yes" showPlaylist="no"
>>>           autoStart="yes">
>>>       15. ' ;
>>>       17. $sFolder = '../Audio/Music' ;
>>>       18. foreach(readD($sFolder) as $item)
>>>       19. {
>>>     PHP keeps erroring on Lines 5 and 18. Any thoughts? Is this a bug?
>>>     Am I a moron?
>>     what are the errors? Is line five looping on an empty array
>>
>>     ----------------------------------------------------------------------
> --
>>     _______________________________________________
>>     New York PHP Community Talk Mailing List
>>     http://lists.nyphp.org/mailman/listinfo/talk
>>
>>     NYPHPCon 2006 Presentations Online
>>     http://www.nyphpcon.com
>>
>>     Show Your Participation in New York PHP
>>     http://www.nyphp.org/show_participation.php
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> New York PHP Community Talk Mailing List
>> http://lists.nyphp.org/mailman/listinfo/talk
>>
>> NYPHPCon 2006 Presentations Online
>> http://www.nyphpcon.com
>>
>> Show Your Participation in New York PHP
>> http://www.nyphp.org/show_participation.php
> _______________________________________________
> New York PHP Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
> 
> NYPHPCon 2006 Presentations Online
> http://www.nyphpcon.com
> 
> Show Your Participation in New York PHP
> http://www.nyphp.org/show_participation.php
> 
> 
> 
> _______________________________________________
> New York PHP Community Talk Mailing List
> http://lists.nyphp.org/mailman/listinfo/talk
> 
> NYPHPCon 2006 Presentations Online
> http://www.nyphpcon.com
> 
> Show Your Participation in New York PHP
> http://www.nyphp.org/show_participation.php
> 



More information about the talk mailing list