Q:

PHP find output programs (Superglobals) | set 1

belongs to collection: PHP Find Output Programs

0

Find the output of PHP programs | Superglobals | Set 1: Enhance the knowledge of PHP Superglobals concepts by solving and finding the output of some PHP programs.

Question 1:

<?php
    $A = 100;
    $B = 200;
    
    function fun()
    {
        $GLOBAL['C'] = $GLOBAL['A'] + $GLOBAL['B'];
    }
    
    fun();
    echo $C;
?>

Question 2:

<?php
    $A = 100;
    $B = 200;
    
    function fun()
    {
        $GLOBALS['C'] = $GLOBALS['A'] * (int)fmod(pi() * 3, 2) + $GLOBALS['B'] * printf("RESULT : ");
    }
    
    fun();
    echo $C;
?>

Question 3:

<?php
    $A = 100;
    $B = "300";
    
    fun();
    
    function fun()
    {
        $A = 200;
        $C = $A + count($GLOBALS['A']) + count($GLOBALS['B']);
        echo $C;
    }
?>

Question 4:

<?php
    fun();
    
    function fun()
    {
        $A = 200;
        $C = $A + count($GLOBALS);
    
        echo $C;
    }
?>

Question 5:

<?php
    fun();
    
    function fun()
    {
        $A = 200;
        $C = $A + count($GLOBALS);
    }
    
    echo $C;
?>

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Answer 1:

Output:

PHP Notice:  Undefined variable: GLOBAL in /home/main.php on line 7
PHP Notice:  Undefined variable: GLOBAL in /home/main.php on line 7
PHP Notice:  Undefined variable: C in /home/main.php on line 11

Explanation:

The above program will generate an error because $GLOBALS array is used to access global variables, but we used $GLOBAL, that's why error will be generated.

Answer 2:

Output:

RESULT : 1900

Explanation:

The above program will print 1900 on the webpage. In the above program, we created two variables $A and B initialized with 100 and 200 respectively. Then we defined function fun(), here we accessed global variables using super-global array $GLOBALS.

Let's evaluate the expression:

$GLOBALS['C'] = $GLOBALS['A']*(int)fmod(pi()*3,2)+$GLOBALS['B']*printf("RESULT : ");
$GLOBALS['C'] = 100*(int)fmod(pi()*3,2)+200*9;
$GLOBALS['C'] = 100*1+200*9;
$GLOBALS['C'] = 100+1800;
$GLOBALS['C'] = 1900; 

In the above expression, printf() function will print "RESULT : " and return 9, and fmod() function is used to find the remainder of floating-point number and then we typecast the result into an integer. And finally, we print the value of 'C' that will print 1900 on the webpage.

Answer 3:

Output:

202

Explanation:

In the above program, we created two variables $A and $B initialized with 100 and "300" respectively. Then we defined function fun(), here we defined a local variable $A with initial value 200.

Let's evaluate the expression:

$C = $A+count($GLOBALS['A'])+count($GLOBALS['B']);
$C = 200+1+1;
$C = 202;

The count() function is used to count the values of the array, here global $A and $B both contain single values, then it count() function will return 1 for both. Then the final value 202 will be printed on the webpage.

Answer 4:

Output:

208

Explanation:

In the above program, we defined a function fun(), here we declared a local variable $A, and we used count() function to count default super-global variables stored in $GLOBAL, then it will return 8. If we defined global variables explicitly then the count will increase.

Let's evaluate the expression:

$C = $A+count($GLOBALS);
$C = 200+8;
$C = 208;

Then 208 will be printed on the webpage.

Answer 5:

Output:

PHP Notice:  Undefined variable: C in /home/main.php on line 10

Explanation:

The above program will generate PHP Notice. Because $C is a local variable of function fun(), and we are accessing it outside the function, then it will generate PHP notice.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

PHP Find Output Programs

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
PHP find output programs (conditional statements) ... >>
<< PHP find output programs (basics) | set 3...