PHP find output programs (const Keyword) | set 1

Find the output of PHP programs | const Keyword | Set 1: Enhance the knowledge of PHP const Keyword by solving and finding the output of some PHP programs.
Submitted by Nidhi, on January 27, 2021

Question 1:

<?php
    const COMPANY_NAME = "Includehelp";
    const WEBSITE_NAME = "Includehelp.com";
    
    $A = 10 + printf("hello");
    
    switch ($A)
    {
        case 15:
            echo $COMPANY_NAME;
        break;
        case 16:
            echo $WEBSITE_NAME;
        break;
        default:
            echo "Wrong Selection";
        break;
    }
?>

Output:

Hello

Explanation:

In the program, we created two constants COMPANY_NAME and WEBSITE_NAME that contain "Includehelp" and "Includehelp.com" respectively.

$A = 10 + printf("hello");

In the above expression, printf() function will print "hello" and return 5, then 15 will be assigned to the variable $A. Then the "case 15" executed in the switch case. But we used $COMPANY_NAME instead of COMPANY_NAME, then it will not print anything on the webpage.

Question 2:

<?php
    class Sample
    {
        const COMPANY_NAME = "Includehelp";
        const WEBSITE_NAME = "Includehelp.com";
    }
    
    $A = 2 * 5 + pow(2, 2) + pow(8, 0);
    $obj = new Sample();
    
    switch ($A)
    {
        case 15:
            echo $obj->COMPANY_NAME;
        break;
        case 16:
            echo $obj->WEBSITE_NAME;
        break;
        default:
            echo "Wrong Selection";
        break;
    }
?>

Output:

PHP Notice:  Undefined property: Sample::$COMPANY_NAME 
in /home/main.php on line 14

Explanation:

In the program, we created a class Sample that contains two constants COMPANY_NAME and WEBSITE_NAME that contain "Includehelp" and "Includehelp.com" respectively.

Now evaluate the expression:

$A = 2*5+pow(2,2)+pow(8,0);
$A = 10+4+1;
$A = 15;

Then we created the object of Sample class. The value of $A is 15, that "case 15" will execute, but it will not print anything and generate a PHP notice, which is given above. Because if you want to access constant members of class then we need to use scope resolution operator "::".

Question 3:

<?php
    class Sample
    {
        const COMPANY_NAME = "Includehelp";
        const WEBSITE_NAME = "Includehelp.com";
    }
    
    $A = 2 * 5 + pow(2, 2) + pow(8, 0);
    $obj = new Sample();
    
    switch ($A)
    {
        case 15:
            echo $obj::COMPANY_NAME;
        break;
        case 16:
            echo $obj::WEBSITE_NAME;
        break;
        default:
            echo "Wrong Selection";
        break;
    }
?>

Output:

IncludeHelp

Explanation:

In the program, we created a class Sample that contains two constants COMPANY_NAME and WEBSITE_NAME that contain "Includehelp" and "Includehelp.com" respectively.

Now evaluate the expression:

$A = 2*5+pow(2,2)+pow(8,0);
$A = 10+4+1;
$A = 15;

Then we created the object of Sample class. The value of $A is 15, that "case 15" will execute, but it will print "Includehelp" on the webpage.

Question 4:

<?php
    class Sample
    {
        const COMPANY_NAME = "Includehelp";
        const WEBSITE_NAME = "Includehelp.com";
    
        define(COMPANY_NAME, "JSM");
    }
    
    $A = 2 * 5 + pow(2, 2) + pow(8, 0);
    $obj = new Sample();
    
    switch ($A)
    {
        case 15:
            echo $obj::COMPANY_NAME;
        break;
        case 16:
            echo $obj::WEBSITE_NAME;
        break;
    
        default:
            echo "Wrong Selection";
        break;
    }
?>

Output:

PHP Parse error:  syntax error, unexpected 'define' (T_STRING), 
expecting function (T_FUNCTION) or const (T_CONST) in 
/home/main.php on line 7

Explanation:

The above program will generate syntax error, because we cannot define constant in a class using define() function like this, define() function can be called within a function or in the global scope of a PHP script.

Question 5:

<?php
    class Sample
    {
        const COMPANY_NAME = "Includehelp";
        const WEBSITE_NAME = "Includehelp.com";
    }
    
    define(COMPANY_NAME, "JSM");
    
    $A = 2 * 5 + pow(2, 2) + pow(8, 0);
    $obj = new Sample();
    
    switch ($A)
    {
        case 15:
            echo $obj::COMPANY_NAME . ", " . COMPANY_NAME;
        break;
        case 16:
            echo $obj::WEBSITE_NAME;
        break;
        default:
            echo "Wrong Selection";
        break;
    }
?>

Output:

Includehelp, JSM

Explanation:

In the program, we created a class Sample that contains two constants COMPANY_NAME and WEBSITE_NAME that contain "Includehelp" and "Includehelp.com" respectively. And we define a constant COMPANY_NAME using define() function outside the class.

Now evaluate the expression:

$A = 2*5+pow(2,2)+pow(8,0);
$A = 10+4+1;
$A = 15;

Then we created the object of Sample class. The value of $A is 15, that "case 15" will execute, but it will print "Includehelp, JSM" on the webpage.



ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT


Top MCQs

Comments and Discussions!




Languages: » C » C++ » C++ STL » Java » Data Structure » C#.Net » Android » Kotlin » SQL
Web Technologies: » PHP » Python » JavaScript » CSS » Ajax » Node.js » Web programming/HTML
Solved programs: » C » C++ » DS » Java » C#
Aptitude que. & ans.: » C » C++ » Java » DBMS
Interview que. & ans.: » C » Embedded C » Java » SEO » HR
CS Subjects: » CS Basics » O.S. » Networks » DBMS » Embedded Systems » Cloud Computing
» Machine learning » CS Organizations » Linux » DOS
More: » Articles » Puzzles » News/Updates

© https://www.includehelp.com some rights reserved.