Re: [PHP-DEV] foreach nastiness with references (bug #21702)

2003-01-22 Thread Vaclav Dvorak
Moriyoshi Koizumi wrote: Moriyoshi Koizumi wrote: 1) Each time before entering a foreach loop, php first tries to make a copy of the array being iterated. 2) In case the array variable is either referenceing another variable or referenced by another variable, no copy is made here and the orig

Re: [PHP-DEV] foreach nastiness with references (bug #21702)

2003-01-22 Thread Moriyoshi Koizumi
On Wed, Jan 22, 2003 at 04:12:18PM +0100, Vaclav Dvorak wrote: > Moriyoshi Koizumi wrote: > >I tried to answer this question in the bug report page. > [...] > >1) Each time before entering a foreach loop, php first tries to make a > >copy of > > the array being iterated. > > > >2) In case the ar

Re: [PHP-DEV] foreach nastiness with references (bug #21702)

2003-01-22 Thread Vaclav Dvorak
Moriyoshi Koizumi wrote: I tried to answer this question in the bug report page. [...] 1) Each time before entering a foreach loop, php first tries to make a copy of the array being iterated. 2) In case the array variable is either referenceing another variable or referenced by another va

Re: [PHP-DEV] foreach nastiness with references (bug #21702)

2003-01-21 Thread Moriyoshi Koizumi
Just FYI, here's a relevant commit made by Andi two years ago: http://cvs.php.net/diff.php/Zend/zend_execute.c?r1=1.222&r2=1.223&ty=h Moriyoshi "John Coggeshall" <[EMAIL PROTECTED]> wrote: > Ah, I understand now... This perhaps in a documentation problem then > after all, as there is no way to

RE: [PHP-DEV] foreach nastiness with references (bug #21702)

2003-01-21 Thread John Coggeshall
Ah, I understand now... This perhaps in a documentation problem then after all, as there is no way to change this behavior cleanly that I can see... What about making a copy of the array and all of the references associated with that array instead of just using the real array? Just a thought. Jo

Re: [PHP-DEV] foreach nastiness with references (bug #21702)

2003-01-21 Thread Moriyoshi Koizumi
Hi, > $a = array(1,2,3); > #$r =& $a; > echo "current before foreach: " . current($a) . "\n"; > foreach($a as $b) { > echo "- value in cycle: " . $b . "\n"; > echo "-- current in cycle: " . current($a) . "\n"; > } > echo "current before foreach: " . current($a) . "\n"; > ?> > > Try it,

Re: [PHP-DEV] foreach nastiness with references (bug #21702)

2003-01-21 Thread Vaclav Dvorak
John Coggeshall wrote: To answer part of your question: What the documentation means is that $val) { $val = "newval"; } ?> Will not change every element in the $foo array to "newval". However, although $foo cannot be modified by modifying $key and $val the internal array pointer WILL increm

RE: [PHP-DEV] foreach nastiness with references (bug #21702)

2003-01-21 Thread John Coggeshall
To answer part of your question: >One more thing: whether this bug is fixed or not, the >documentation must >be clarified! I don't know about you, but I simply don't >understand what >it's supposed to say. Quoting: "Note: Also note that foreach operates What the documentation means is that

[PHP-DEV] foreach nastiness with references (bug #21702)

2003-01-21 Thread Vaclav Dvorak
Hi, there's a problem with foreach when the array it iterates over is a reference or has a reference: contrary to what was clearly written in the documentation for over two years until about two months ago, the foreach doesn't make a copy of the array, and so nested foreach's don't work becaus

RE: [PHP-DEV] foreach

2002-04-25 Thread Rose, Billy
> Subject: Re: [PHP-DEV] foreach > > > This is neither a problem with PHP nor FreeTDS. From the manual: > > " sybase_fetch_array() is an extended version of > sybase_fetch_row(). In > addition to storing the data in the numeric indices of the > result arra

Re: [PHP-DEV] foreach

2002-04-25 Thread Gabriel Ricard
This is neither a problem with PHP nor FreeTDS. From the manual: " sybase_fetch_array() is an extended version of sybase_fetch_row(). In addition to storing the data in the numeric indices of the result array, it also stores the data in associative indices, using the field names as keys. " Th

[PHP-DEV] foreach

2002-04-25 Thread Rose, Billy
Environment: Apache 2.0.35 PHP 4.2.0RC2 FreeTDS used in place of Sybase libraries to connect to MS SQL 2000 RedHat Linux 7.1 PII 233 Problem: Using foreach retrieves a duplicate of each database column. Code tested: Test \n"); while ($row = sybase_fetch_array($result)) { pri

[PHP-DEV] foreach() enhancement (not too serious ;)

2001-08-20 Thread Markus Fischer
While hacking around I came up with another variation for foreach() feature request ... foreach( $somearary as list($ene, $mene, $muh)) { or foreach( $somearray as $somekey => list($ene, $mene, $muh)) { given that $somearray = array( 'key1' => array('1','2','3'), [...] ); :)

Re: [PHP-DEV] foreach behavior and error suppression (@foo)

2001-07-03 Thread Stanislav Malyshev
>> What looks better and is easier to read?: For me - the first one. Go figure what that @ is about. Also, 'if' allows you for 'else'. >> it. But, making foreach threat NULL variables as empty arrays, would >> be a goof thing IMO. Maybe it is worth to demote this warning to E_NOTICE? I personal

Re: [PHP-DEV] foreach behavior and error suppression (@foo)

2001-07-03 Thread derick
On Tue, 3 Jul 2001, Stanislav Malyshev wrote: > Well, if you are around this with @, why not with if(is_array())? What looks better and is easier to read?: 1.: if (is_array($ar)) { foreach ($ar as $element) { } } 2.: @foreach ($ar as $element) { } I clearly see some usefulness

Re: [PHP-DEV] foreach behavior and error suppression (@foo)

2001-07-03 Thread Stanislav Malyshev
DB>> There are several open feature requests in the bug system to DB>> allow the use of @ to suppress warnings when using a non array DB>> with foreach. What's the status of this? Is this a "hell no!", DB>> "not possible with the current state of the code" or a "when we DB>> get around to it"?

Re: [PHP-DEV] foreach behavior and error suppression (@foo)

2001-07-02 Thread Zeev Suraski
wouldn't break any existing behavior, but >would only make foreach more flexible. > >Daniel > >- Original Message - >From: "Zeev Suraski" <[EMAIL PROTECTED]> >To: "Daniel Beckham" <[EMAIL PROTECTED]> >Cc: "php-dev" <[EMA

Re: [PHP-DEV] foreach behavior and error suppression (@foo)

2001-07-02 Thread Daniel Beckham
ssage - From: "Zeev Suraski" <[EMAIL PROTECTED]> To: "Daniel Beckham" <[EMAIL PROTECTED]> Cc: "php-dev" <[EMAIL PROTECTED]> Sent: Monday, July 02, 2001 4:19 PM Subject: Re: [PHP-DEV] foreach behavior and error suppression (@foo) > If the ques

Re: [PHP-DEV] foreach behavior and error suppression (@foo)

2001-07-02 Thread Daniel Beckham
Sent: Monday, July 02, 2001 4:18 PM Subject: Re: [PHP-DEV] foreach behavior and error suppression (@foo) > Perhaps we want to roll this request into the list of proposed changes for > PHP 5? > > --zak > > - Original Message - > From: "Daniel Beckham" <[EMAIL

Re: [PHP-DEV] foreach behavior and error suppression (@foo)

2001-07-02 Thread Zeev Suraski
If the question is about @foreach(...) ... Then the answer is somewhere between 'hell no!' and 'not possible with the current state of the code'. foreach is a statement, whereas @ is an operator that works on expressions... At 00:16 3/7/2001, Daniel Beckham wrote: >There are several open feat

Re: [PHP-DEV] foreach behavior and error suppression (@foo)

2001-07-02 Thread Zak Greant
Perhaps we want to roll this request into the list of proposed changes for PHP 5? --zak - Original Message - From: "Daniel Beckham" <[EMAIL PROTECTED]> To: "php-dev" <[EMAIL PROTECTED]> Sent: Monday, July 02, 2001 3:16 PM Subject: [PHP-DEV] foreach beha

[PHP-DEV] foreach behavior and error suppression (@foo)

2001-07-02 Thread Daniel Beckham
There are several open feature requests in the bug system to allow the use of @ to suppress warnings when using a non array with foreach. What's the status of this? Is this a "hell no!", "not possible with the current state of the code" or a "when we get around to it"? Thanks, Daniel -- PHP