Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.swapon.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Arno Welzel Newsgroups: comp.lang.php Subject: Re: weird global issue Date: Wed, 19 Mar 2014 16:26:54 +0100 Lines: 47 Message-ID: <5329B73E.1050404@arnowelzel.de> References: <530a450b$0$9514$9b4e6d93@newsspool1.arcor-online.net> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: individual.net k3XVfTAWMziLc6MEQCxpFwWZdZudf5G52GmN59Y6GnhGFNLyMT Cancel-Lock: sha1:00H1dIrjrNHsXfMa8PvTznioXfM= User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.3.0 In-Reply-To: Xref: csiph.com comp.lang.php:13215 Am 23.02.2014 21:35, schrieb The Natural Philosopher: > On 23/02/14 18:59, Christoph Michael Becker wrote: >> The Natural Philosopher wrote: >> >>> Consider >>> >> $x=array(); >>> >>> function foo() >>> { >>> global $x; >>> foreach($x as $p) // fails with invalid type >>> { >>> } >>> } >>> ?> >>> --------- >>> >>> >> $x=array(); >>> global $x; >>> function foo() >>> { >>> global $x; >>> foreach($x as $p) // works?? >>> { >>> } >>> } >>> ?> >>> --------- >>> This behaviour seems only limited to arrays... >> >> No (unless there's a bug in a particular PHP version). Your first code >> sample works fine without even a notice. >> > > It doesn't here, but the code is being 'eval'ed' ... That's one of the reasons, why it is NOT "nice" to store code in a database and then use eval() to execute it. -- Arno Welzel http://arnowelzel.de http://de-rec-fahrrad.de