MadAsHeck Posted December 17, 2012 Share Posted December 17, 2012 Okay guys and gals I'm not "cheating" on this one because it's end of semester and I already turned in my code. I'm going to fail the PHP class because I'm just not a programmer mind. I'm a creative mind. I failed my SQL course in the tech school I attend because I couldn't get past outer joins. It's like my mind hits a mental brick wall and can't burst through it. BUT this @%!# thing has given me so much trouble I want to see someone write it out for me to see where I went wrong. Or rather, why I failed it. Or rather, a reason why I shouldn't toss my computer off of a bridge from a moving vehicle. Here's the assignment below. Yea yea it's basic stuff but like I said I AM NOT A PROGRAMMER. Can't DO this. Didn't help that the PHP I course I took -- this assignment I paste is PHP II -- was over the summer semester and thus three weeks. Made a promise to myself: no more summer courses. ===== For this assignment, please write a PHP script that does the following: 1. Pre-populate an array(s) with 20 types of sushi and their associated prices. 2. Use a foreach() loop to parse the array(s) and: Find the highest priced sushi Find the lowest price sushi Find the average sushi cost 3. Use a foreach() loop to parse the array(s) and: If the sushi's price is above the average price echo/print out the sushi's name,its price and the string "expensive" If the sushi's price is above the average price, echo/print out the sushi's name, its price and the string "cheap" 4. Write out a message displaying the most expensive and the least expensive sushi Link to comment https://forums.phpfreaks.com/topic/272080-how-do-you-do-this/ Share on other sites More sharing options...
Pikachu2000 Posted December 17, 2012 Share Posted December 17, 2012 Something like this. I modified to not use unnecessary loops. $sushi = array('Unagi' => 4.59, 'Uni' => 6.99, 'Saba' => 5.99, 'Tamago' => 4.25, 'Toro' => 8.99, 'Masago' => 3.59); $avg = round( array_sum($sushi) / count($sushi), 2 ); // no need for a loop for this $min = min($sushi); // again no loop needed $max = max($sushi); // and again . . . echo "The most expensive sushi is $max<br>\n"; echo "The least expensive sushi is $min<br>\n"; echo "The average sushi is $avg<br>\n"; foreach( $sushi as $k => $v ) { if( $v > $avg ) { echo "$k is expensive<br>\n"; } elseif( $v < $avg ) { echo "$k is cheap<br>\n"; } else { echo "$k is average<br>\n"; } } Link to comment https://forums.phpfreaks.com/topic/272080-how-do-you-do-this/#findComment-1399770 Share on other sites More sharing options...
MadAsHeck Posted December 17, 2012 Author Share Posted December 17, 2012 What is the 2 in there for? After the count? i think I can understand everything else......I actually had the min and max functions in the code I turned in. I'm assuming your "$k" is substitute for 'key' and your $v is substitute for 'value'. But why round when creating/defining the variable 'avg'? Link to comment https://forums.phpfreaks.com/topic/272080-how-do-you-do-this/#findComment-1399772 Share on other sites More sharing options...
Christian F. Posted December 17, 2012 Share Posted December 17, 2012 The , 2 is the second parameter for round (), which tells it to round to two decimal points. Why the rounding: Compare the prices given, with the unmodified average value you'd get otherwise. Link to comment https://forums.phpfreaks.com/topic/272080-how-do-you-do-this/#findComment-1399805 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.