Results 1 to 8 of 8

Thread: PHP 4 A Function That Returns a Value

  1. #1
    Join Date
    May 2007
    London, United Kingdom

    Question PHP 4 A Function That Returns a Value

    I am currently studying PHP4. I am aware that it is a little old and there is PHP5 out, if not PHP6 already. But, its currently the only manual I have and I want to break into it as easily as possible. My theory is once I start studyin PHP5, then it will be a walk in the park.

    My question:

    This was taken straight out of the manual I am studying from.

    Returning Values from User-Defined Functions:

    Listing 6.4 creates a function that returns the sum of two numbers.

    Listing 6.4: A Function That Returns a Value
    1: <html>
    2: <head>
    3: <title>Listing 6.4</title>
    4: </head>
    5: <body>
    6: <?php
    7: function addNums( $firstnum, $secondnum;
    8: {
    9: $result = $firstnum + $secondnum )
    10: return $result;11: }
    12: print addNums(3,5);
    13: // will print "8"
    14: ?>
    15: </body>
    16: </html>

    Once I copied it into Dreamweaver 8, I came up with some errors.

    So, I modified the script due to what looked like some missing brackets and a number 11 which made no sense and a few other things. This is what I came up with.

    6: <?php
    7: function addNums( $firstnum, $secondnum )
    8: {
    9: $result = $firstnum + $secondnum;
    10: return( $result );
    11: }
    12: print addNums(3,5); // will print "8"
    13: ?>

    Am I correct? If so, what were the errors in the example from the book?
    Last edited by Hooded_Villian; 03-24-2008 at 07:16 PM.

  2. #2
    Join Date
    Jun 2003
    looks like 11: was supposed to be on a new line.
    only 1 error as I can see:
    7: function addNums( $firstnum, $secondnum;
    semi colon should be a closing bracket, causes an error about unexpected { I should think.
    9: $result = $firstnum + $secondnum )
    bracket closed here, right after it's too late, could have meant:
    function addNums( $firstnum, $secondnum, $result=$firstnum+$secondnum){
    return $result;
    but this is a very bad practice, and one I recomend you avoid like the plauge until you become more skilled.
    If you are using PHP please use the [PHP] and [/PHP] forum tags for highlighting...
    The same applies to HTML and the forums [HTML][/HTML] tags.

  3. #3
    Join Date
    May 2007
    London, United Kingdom
    Thanks scragar...

    I can relate to what you're saying with regards to falling asleep... its 1am and I'm also poked, prolly the reason why I missed that obvious 11:, was supposed to be a new line.

    I rectified the semi colon in line 7 and also removed the end bracket in line 9 and the script works perfectly.

    PHP Code:
    function addNums$firstnum$secondnum )
    $result $firstnum $secondnum;
    //totals up to 9 
    I am, however, doing these codes myself. I currently copy the example code into dreamweaver and use it as a guide line, when creating my own. Aswell, as to see how the example script runs. It was just that I couldn't understand how a study manual could have such a mistake in it, hence my posting for advice.

    I will use the [php] and [html] tags you mentioned aswell, for future posts.

    Thanks a million...

  4. #4
    Join Date
    Jun 2003
    it's a signiture, it appears on all of my posts.

    personaly if I were to write such a code it would be something like:
    PHP Code:
    function addNums($first$second){
    is_numeric($first) && is_numeric($second))// both numbers
    return $first+$second;// just return result
      // one or both not numbers, cast into a float for best results first.
    $result = ((float) $first)+((float) $second);// always a float
      // test if result is int or float, and return int or float accordingly
    return (((int) $result) == $result)?(int) $result $result;
    but then, that's not exactly an efficient function. That, and it's more complexe than what your posting :P PHP5 isn't any more complexe than PHP4, and it's a lot more stable and bug free, before you learn any funny quirks PHP4 has to offer I'd recomend upgrading. Having argued that point I'm guessing you can always check the manual for anything that doesn't work after a PHP4-5 upgrade.
    Last edited by scragar; 03-24-2008 at 08:21 PM.
    If you are using PHP please use the [PHP] and [/PHP] forum tags for highlighting...
    The same applies to HTML and the forums [HTML][/HTML] tags.

  5. #5
    Join Date
    May 2007
    London, United Kingdom
    Ok... I see it now. Still, its a pretty informative sig =)

    Hmmm... Your version of the code is a little ahead of my current capabilities. I haven't yet learnt or read bout the (float) Im getting there though.

    I will definitly be upgrading to php 5 as soon as Im done with this manual. I hate starting something and not finishing it.

    Thanks a lot dude...

  6. #6
    Join Date
    Sep 2006
    Bucharest, RO
    I didn't need any books when learning PHP, here's the tutorial that got me started: http://www.w3schools.com/php/ . I don't like using books to learn programming language.. you tend to read more than you code.

  7. #7
    Join Date
    May 2007
    London, United Kingdom
    Thanks Znupi...

    Thats actually the exact same website that I use.

    I'm currently studying from an eBook. A .pdf file to be more exact... So I just copy and paste what I need into Dreaweaver, then modify and play around with, aswell as then write my own scripts using the examples from the .pdf book, as a guide line.

    I wasn't kidding when I said I am new to this kinda language. html was a breeze compared to this. Still kinda having a hard time figuring out what Im actually going to use the information I have learnt so far, for.

    But, guess that will come at a later stage.

    Thanks again for the heads up of the site. Much appreciated...

  8. #8
    Join Date
    Sep 2006
    Bucharest, RO
    You're welcome . Good luck with your studies. Any problems you hit, don't hesitate to ask

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
HTML5 Development Center



X vBulletin 4.2.2 Debug Information

  • Page Generation 0.12348 seconds
  • Memory Usage 2,928KB
  • Queries Executed 13 (?)
More Information
Template Usage (34):
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_global_above_footer
  • (1)ad_global_below_navbar
  • (1)ad_global_header1
  • (1)ad_global_header2
  • (1)ad_navbar_below
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (1)ad_thread_first_post_content
  • (1)ad_thread_last_post_content
  • (3)bbcode_code
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)headinclude_bottom
  • (8)memberaction_dropdown
  • (1)navbar
  • (4)navbar_link
  • (1)navbar_moderation
  • (1)navbar_noticebit
  • (1)navbar_tabs
  • (2)option
  • (8)postbit
  • (8)postbit_onlinestatus
  • (8)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available (6):
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files (26):
  • ./showthread.php
  • ./global.php
  • ./includes/class_bootstrap.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/functions_navigation.php
  • ./includes/class_friendly_url.php
  • ./includes/class_hook.php
  • ./includes/class_bootstrap_framework.php
  • ./vb/vb.php
  • ./vb/phrase.php
  • ./includes/functions_facebook.php
  • ./includes/functions_calendar.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_notice.php
  • ./packages/vbattach/attach.php
  • ./vb/types.php
  • ./vb/cache.php
  • ./vb/cache/db.php
  • ./vb/cache/observer/db.php
  • ./vb/cache/observer.php 

Hooks Called (70):
  • init_startup
  • friendlyurl_resolve_class
  • init_startup_session_setup_start
  • database_pre_fetch_array
  • database_post_fetch_array
  • init_startup_session_setup_complete
  • global_bootstrap_init_start
  • global_bootstrap_init_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • load_show_variables
  • load_forum_show_variables
  • global_state_check
  • global_bootstrap_complete
  • global_start
  • style_fetch
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • strip_bbcode
  • friendlyurl_clean_fragment
  • friendlyurl_geturl
  • forumjump
  • cache_templates
  • cache_templates_process
  • template_register_var
  • template_render_output
  • fetch_template_start
  • fetch_template_complete
  • parse_templates
  • fetch_musername
  • notices_check_start
  • notices_noticebit
  • process_templates_complete
  • friendlyurl_redirect_canonical
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • memberaction_dropdown
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • build_navigation_data
  • build_navigation_array
  • check_navigation_permission
  • process_navigation_links_start
  • process_navigation_links_complete
  • set_navigation_menu_element
  • build_navigation_menudata
  • build_navigation_listdata
  • build_navigation_list
  • set_navigation_tab_main
  • set_navigation_tab_fallback
  • navigation_tab_complete
  • fb_like_button
  • showthread_complete
  • page_templates