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
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
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
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
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
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,
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
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
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
> 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
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
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
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'),
[...]
);
:)
>> 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
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
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"?
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
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
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
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
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
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
22 matches
Mail list logo