It has to do with precedence (I think). When inside a double quoted string PHP evalutes "$books[$val]" *first* and doesn't catch that there's more to it...
You can do this: $html.= " Yaddda yadda " . $books[$val][display]; And I think this (or something close to it): $html.= " Yaddda yadda {$books[$val][display]}"; On Thu, 9 May 2002, Peter J. Schoenster wrote: > Hi, > > I've got an array like the following: > > $books = array( > "1572316217" => array( > category => 'tech', > display => 'Steve McConnell\'s Software Project >Survival Guide', > href => > 'http://www.amazon.com/exec/obidos/ASIN/1572316217/readbrazil07-20', > title => 'Steve McConnell\'s Software Project >Survival Guide', > width => '71', > height => '90', > src => >'/images/1572316217.01.TZZZZZZZ.jpg', > vspace => '3', > alt => 'Steve McConnell\'s Software >Project Survival Guide', > hspace => '3', > comments => "", > ), > > $books = $AfiliateLinkBuilder->get_books(); > srand ((float) microtime() * 10000000); > $rand_keys = array_rand ($books, 2); > > while (list ($key, $val) = each ($rand_keys)) { > $display = $books[$val][display]; > > Why do I have to do this: > $display = $books[$val][display]; > > rather than > > $html.= " Yaddda yadda $books[$val][display]"; > > $books[$val][display] in the double quotes only shows display. I > thought that within double quotes I don't use double quotes for > elements ... ? What's the rule on this. I could do the above in Perl. > > Thanks, > > Peter > > > -- http://www.readbrazil.com/ > Answering Your Questions About Brazil > > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php