foreach problem [message #184265] |
Thu, 19 December 2013 17:42 |
Mr Oldies
Messages: 241 Registered: October 2013
Karma: 0
|
Senior Member |
|
|
<?php
$alist="$art".$year;
$num=0;
foreach ($alist as $num){ echo $list[$num++][0]; }
?>
my bracketed arrays are designed with $art60[][] format.
where "60" will change with the given year.
Using the above script, I get "invalid argument".
So what would be a valid argument?
The array is setup so that $art60[number][0]=artist name (always).
then each record for that artist is listed in 3d format.
$art60[number][record]['info']="data".
I want to list just the artist names in one division.
http://mroldies.net/artists/art60.php
not that you'll see anything right now.
|
|
|
Re: foreach problem [message #184266 is a reply to message #184265] |
Thu, 19 December 2013 18:06 |
Tim Streater
Messages: 328 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
In article <4crg8sz8mnlg(dot)kvx5ofaf71nu(dot)dlg(at)40tude(dot)net>, richard
<noreply(at)example(dot)com> wrote:
> <?php
>
> $alist="$art".$year;
> $num=0;
> foreach ($alist as $num){ echo $list[$num++][0]; }
> ?>
>
>
> my bracketed arrays are designed with $art60[][] format.
> where "60" will change with the given year.
> Using the above script, I get "invalid argument".
> So what would be a valid argument?
>
> The array is setup so that $art60[number][0]=artist name (always).
> then each record for that artist is listed in 3d format.
> $art60[number][record]['info']="data".
Is alist an array, like it says in the foreach doccy? And why are you
incrementing $num ?
--
Tim
"That excessive bail ought not to be required, nor excessive fines imposed,
nor cruel and unusual punishments inflicted" -- Bill of Rights 1689
|
|
|
Re: foreach problem [message #184267 is a reply to message #184265] |
Thu, 19 December 2013 18:09 |
Salvatore
Messages: 38 Registered: September 2012
Karma: 0
|
Member |
|
|
On 2013-12-19, richard <noreply(at)example(dot)com> wrote:
> <?php
>
> $alist="$art".$year;
> $num=0;
> foreach ($alist as $num){ echo $list[$num++][0]; }
> ?>
I think you should consider changing the way you write arrays. Instead
of using "$art60[][]", you could use "$art[60][][]". It also appears
that you mistyped the variable name in the "foreach" loop -- did you
mean to type "$alist[$num++][0]"? And why are you incrementing the
"$num" variable?
Nevertheless, there *is* a way to do this:
$varname = '$art' . $year; // Note the single quotes.
$alist = eval("return $varname;");
I don't recommend this, though. It's a security issue.
--
Blah blah bleh...
GCS/CM d(-)@>-- s+:- !a C++$ UBL++++$ L+$ W+++$ w M++ Y++ b++
|
|
|
Re: foreach problem [message #184269 is a reply to message #184267] |
Thu, 19 December 2013 18:55 |
Christoph Michael Bec
Messages: 207 Registered: June 2013
Karma: 0
|
Senior Member |
|
|
Salvatore wrote:
> On 2013-12-19, richard <noreply(at)example(dot)com> wrote:
>> <?php
>>
>> $alist="$art".$year;
>> $num=0;
>> foreach ($alist as $num){ echo $list[$num++][0]; }
>> ?>
>
> I think you should consider changing the way you write arrays. Instead
> of using "$art60[][]", you could use "$art[60][][]".
ACK
> It also appears
> that you mistyped the variable name in the "foreach" loop -- did you
> mean to type "$alist[$num++][0]"? And why are you incrementing the
> "$num" variable?
Apparently, the problem is not the mistyped variable, but rather the
OP's confusion about foreach loops[1].
> Nevertheless, there *is* a way to do this:
>
> $varname = '$art' . $year; // Note the single quotes.
> $alist = eval("return $varname;");
>
> I don't recommend this, though. It's a security issue.
And most likey rather slow -- and even worse: it's a very confusing way
to do things.
[1] <http://www.php.net/manual/en/control-structures.foreach.php>
--
Christoph M. Becker
|
|
|
|
Re: foreach problem [message #184273 is a reply to message #184266] |
Thu, 19 December 2013 19:19 |
The Natural Philosoph
Messages: 993 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 19/12/13 18:06, Tim Streater wrote:
> In article <4crg8sz8mnlg(dot)kvx5ofaf71nu(dot)dlg(at)40tude(dot)net>, richard
> <noreply(at)example(dot)com> wrote:
>
>> <?php
>>
>> $alist="$art".$year;
>> $num=0;
>> foreach ($alist as $num){ echo $list[$num++][0]; }
>> ?>
>>
>>
>> my bracketed arrays are designed with $art60[][] format.
>> where "60" will change with the given year.
>> Using the above script, I get "invalid argument".
>> So what would be a valid argument?
>>
>> The array is setup so that $art60[number][0]=artist name (always).
>> then each record for that artist is listed in 3d format.
>> $art60[number][record]['info']="data".
>
> Is alist an array, like it says in the foreach doccy? And why are you
> incrementing $num ?
>
Its richard. The question will make no sense.
Killfile.
--
Ineptocracy
(in-ep-toc’-ra-cy) – a system of government where the least capable to
lead are elected by the least capable of producing, and where the
members of society least likely to sustain themselves or succeed, are
rewarded with goods and services paid for by the confiscated wealth of a
diminishing number of producers.
|
|
|
Re: foreach problem [message #184274 is a reply to message #184271] |
Thu, 19 December 2013 19:19 |
The Natural Philosoph
Messages: 993 Registered: September 2010
Karma: 0
|
Senior Member |
|
|
On 19/12/13 19:13, Denis McMahon wrote:
> On Thu, 19 Dec 2013 18:06:51 +0000, Tim Streater wrote:
>
>> [1] Is alist an array, like it says in the foreach doccy? [2] And why
> are you
>> incrementing $num ?
>
> [1] Probably not
> [2] Because he's richard
>
+100
--
Ineptocracy
(in-ep-toc’-ra-cy) – a system of government where the least capable to
lead are elected by the least capable of producing, and where the
members of society least likely to sustain themselves or succeed, are
rewarded with goods and services paid for by the confiscated wealth of a
diminishing number of producers.
|
|
|