FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » foreach problem
Show: Today's Messages :: Unread Messages :: Show Polls :: Message Navigator
| Subscribe to topic | Bookmark topic 
Switch to threaded view of this topic Create a new topic Submit Reply
foreach problem [message #184265] Thu, 19 December 2013 12:42 Go to next message
Mr Oldies is currently offline  Mr Oldies
Messages: 241
Registered: October 2013
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
<?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 13:06 Go to previous messageGo to next message
Tim Streater is currently offline  Tim Streater
Messages: 328
Registered: September 2010
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
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 13:09 Go to previous messageGo to next message
Salvatore is currently offline  Salvatore
Messages: 38
Registered: September 2012
Karma: 0
Member
add to buddy list
ignore all messages by this user
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 13:55 Go to previous messageGo to next message
Christoph Michael Bec is currently offline  Christoph Michael Bec
Messages: 207
Registered: June 2013
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
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 #184271 is a reply to message #184266] Thu, 19 December 2013 14:13 Go to previous messageGo to next message
Denis McMahon is currently offline  Denis McMahon
Messages: 634
Registered: September 2010
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
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

--
Denis McMahon, denismfmcmahon(at)gmail(dot)com
Re: foreach problem [message #184273 is a reply to message #184266] Thu, 19 December 2013 14:19 Go to previous messageGo to next message
The Natural Philosoph is currently offline  The Natural Philosoph
Messages: 993
Registered: September 2010
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
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 14:19 Go to previous message
The Natural Philosoph is currently offline  The Natural Philosoph
Messages: 993
Registered: September 2010
Karma: 0
Senior Member
add to buddy list
ignore all messages by this user
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.
Quick Reply
Formatting Tools:   
  Switch to threaded view of this topic Create a new topic
Previous Topic: URL linking to 3d array
Next Topic: working model of the latest project
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Thu Oct 19 12:32:18 EDT 2017

Total time taken to generate the page: 0.00697 seconds