Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 07-04-2005, 07:03 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default building a function with an optional argument

how would i go about doing the above

PHP Code:
function getpiece($id FALSE)

    global 
$p;

    if (!
$p)
    {
        
$p intval($id); // if $p exists $id won't exist
    

how would i go about doing this?
Reply With Quote
  #2  
Old 07-04-2005, 07:13 PM
Colin F's Avatar
Colin F Colin F is offline
 
Join Date: Jul 2004
Location: Switzerland
Posts: 1,551
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by sabret00the
how would i go about doing the above

PHP Code:
function getpiece($id FALSE)

    global 
$p;

    if (!
$p)
    {
        
$p intval($id); // if $p exists $id won't exist
    

how would i go about doing this?
if, in the functions arguments, you define something with a =, it'll use that value if nothing is entered.

so you can do this:

PHP Code:
function foo($firstvar)
{

this
PHP Code:
function foo($firstvar 'standardvalue')
{

this
PHP Code:
function foo($firstvar 'standardvalue'$secondvar 'standardaswell')
{

this,
PHP Code:
function foo($firstvar$secondvar 'standard')
{

and so on.

Any arguments that are needed have to be at the beginning though.
Reply With Quote
  #3  
Old 07-04-2005, 07:14 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't understand your question?
Reply With Quote
  #4  
Old 07-04-2005, 08:41 PM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

basically i have the function getpiece

PHP Code:
function getpiece($id 'nothere')
{
    global 
$vboptions$stylevar$vbphrase$bgclass$DB_site$p;

    if (
$id != "nothere")
    {
        
$p $id;
    }

    
$getthepiece $DB_site->query_first("
        ## query ##
    "
);

return 
$getthepiece
most of the times i call getpiece() via
PHP Code:
$array getpiece(); // for this is uses the $p 
but i need to call it in another function with
PHP Code:
$array getpiece($pieceid); // because $p doesn't exist 
Reply With Quote
  #5  
Old 07-04-2005, 08:51 PM
Andreas's Avatar
Andreas Andreas is offline
 
Join Date: Jan 2004
Location: Germany
Posts: 6,863
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I still don't get what you want, but maybe it's this:

PHP Code:
function getpiece()
{
    global 
$vboptions$stylevar$vbphrase$bgclass$DB_site$p;

    if (
func_num_args() > 0)
    {
        
// Called with Parameters, so we take the first parameter as $id
            
$id func_get_arg(0);
    }
    else
    {
        
// Called with no Parameters, so we take $p as $id
        
$id $p;
    }

        
$getthepiece $DB_site->query_first(
Reply With Quote
  #6  
Old 07-04-2005, 08:53 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Difficult to answer without seeing the query - does it pull some data based on the value of $p ?

Why don't you just make the first one ;

$array = getpiece($p);

and then just make the function return the appropiate data from the query using $id.
Reply With Quote
  #7  
Old 07-11-2005, 08:58 AM
sabret00the's Avatar
sabret00the sabret00the is offline
 
Join Date: Jan 2003
Location: London
Posts: 5,268
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

thanks all for your help, in the end i got it to work using function($var) for both calls
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:21 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06850 seconds
  • Memory Usage 2,242KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (10)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (7)post_thanks_box
  • (7)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (7)post_thanks_postbit_info
  • (7)postbit
  • (7)postbit_onlinestatus
  • (7)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete