Re: Foreach Array Help
| From: | Jed R. Brubaker | Date: | Tue, 14 Oct 2003 15:19:29 +0000 |
| Subject: | Re: Foreach Array Help | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-166107@lists.php.net to get a copy of this message | ||
First of all, thanks for the response.
Here is where I am getting lost:
In $code['assign'][1] - "1" is the assignment ID, and I would like the array
to be able to hold a billion of these different assignments all with
conceivably a billion codeapply ID as in $code['assign'][1]['codeapply'][3],
where "3" is the codeapply value. In other words, because each of these
items directly under assign and codeapply are arrays because they hold
sub-info, I have made the keys of these items the values.
So - am I approaching this whole array thing wrong?
Thanks.
"Rob Adams" <rob_adams@hotmail.com> wrote in message
news:20031014134556.6177.qmail@pb1.pair.com...
>
> "Jed R. Brubaker" <jed.brubaker@psych.utah.edu> wrote in message
> news:20031014065844.88206.qmail@pb1.pair.com...
> > Okay, total newbie when it comes to arrays, and I could really use some
> > help. I sure this will be an easy one for you veterans out there.
> >
> > Here is the array ($code):
> > array(2) {
> > ["total"]=>
> > int(1)
> > ["assign"]=>
> > array(1) {
> > [1]=>
> > array(3) {
> > ["type"]=>
> > string(10) "Transcript"
> > ["rows"]=>
> > string(3) "603"
> > ["codeapply"]=>
> > array(1) {
> > [1]=>
> > array(3) {
> > ["codeset"]=>
> > string(23) "FFT 6 Level Code System"
> > ["code_rows"]=>
> > string(3) "302"
> > ["code_complete"]=>
> > string(1) "2"
> > }
> > }
> > }
> > }
> > }
> >
> > Here is the output code:
> > foreach ($this->code['assign'] as $assign => $details)
> > {
> > foreach ($assign['codeapply'] as $codeapply => $ca_details)
> > {
> > echo "<tr>";
> > echo "<td>";
> > echo $details['type']." ".$assign;
> > echo "</a>";
> > echo "</td>";
> > echo "<td>";
> > echo $ca_details['codeset'];
> > echo "</td>";
> > echo "<td>";
> > echo
> >
> > $ca_details['code_complete']."/".$ca_details['code_rows']." Items
Coded";
> > echo "</td>";
> > echo "<td>";
> > printf (" %.0d%%",
> > ($ca_details['code_complete']/$ca_details['code_rows'])*100);
> > echo "</td>";
> > echo "</tr>";
> > }
> > }
> >
> > Output error:
> > Warning: Cannot use a scalar value as an array
> > Warning: Invalid argument supplied for foreach()
> >
> > Conceptually and practically I have been struggling with how to navigate
> > levels of the arrays which are defined by a variable (e.g.
> > $code['assign'][$i] for the assign ID and $code['assign'][$i][$j] for
the
>
> if $code['assign'][$i] has some integer value, then it is not an array.
> if $code['assign'][$i][$j] has some integer value, then
$code['assign'][$i]
> is an array.
>
> You have two mutually exclusive possibilities there.
>
> Probably, what you want to do is something like:
>
> $code['assign'][$i]['aid'] = (assign ID);
> $code['assign'][$i][$j] = (whatever you want here);
>
> (which, for simplicity, translates into something like:)
>
> $code['assign'][1]['aid'] = 1;
> $code['assign'][1]['1'] = 11;
> $code['assign'][1]['2'] = 12;
> $code['assign'][1]['3'] = 13;
> $code['assign'][1]['4'] = 14;
> $code['assign'][1]['5'] = 15;
> etc.
>
> -- Rob
>
>
>
>
> > codeapply ID on the assign ID).
> >
> > Thanks in advance!