define

(PHP 4, PHP 5, PHP 7)

defineDefines a named constant

Descrierea

define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] ) : bool

Defines a named constant at runtime.

Parametri

name

The name of the constant.

Notă:

It is possible to define() constants with reserved or even invalid names, whose value can (only) be retrieved with constant(). However, doing so is not recommended.

value

The value of the constant. In PHP 5, value must be a scalar value (integer, float, string, boolean, or NULL). In PHP 7, array values are also accepted.

Avertizare

While it is possible to define resource constants, it is not recommended and may cause unpredictable behavior.

case_insensitive

If set to TRUE, the constant will be defined case-insensitive. The default behavior is case-sensitive; i.e. CONSTANT and Constant represent different values.

Avertizare

Defining case-insensitive constants is deprecated as of PHP 7.3.0.

Notă:

Case-insensitive constants are stored as lower-case.

Valorile întoarse

Întoarce valoarea TRUE în cazul succesului sau FALSE în cazul eșecului.

Istoricul schimbărilor

Versiune Descriere
7.3.0 case_insensitive has been deprecated and will be removed in version 8.0.0.
7.0.0 array values are allowed.

Exemple

Example #1 Defining Constants

<?php
define
("CONSTANT""Hello world.");
echo 
CONSTANT// outputs "Hello world."
echo Constant// outputs "Constant" and issues a notice.

define("GREETING""Hello you."true);
echo 
GREETING// outputs "Hello you."
echo Greeting// outputs "Hello you."

// Works as of PHP 7
define('ANIMALS', array(
    
'dog',
    
'cat',
    
'bird'
));
echo 
ANIMALS[1]; // outputs "cat"

?>

Example #2 Constants with Reserved Names

This example illustrates the possibility to define a constant with the same name as a magic constant. Since the resulting behavior is obviously confusing, it is not recommended to do this in practise, though.

<?php
var_dump
(defined('__LINE__'));
var_dump(define('__LINE__''test'));
var_dump(constant('__LINE__'));
var_dump(__LINE__);
?>

Exemplul de mai sus va afișa:

bool(false)
bool(true)
string(4) "test"
int(5)

A se vedea și