PHP: get_defined_constants - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

get_extension_funcs get_current_user

Last updated: Sat, 27 Jan 2007

view this page in

# get_defined_constants

(PHP 4 >= 4.1.0, PHP 5)

get_defined_constants -- Returns an associative array with the names of all the constants and their values

## Description

array get_defined_constants ( [mixed categorize] )

This function returns the names and values of all the constants currently defined. This includes those created by extensions as well as those created with the define() function.

For example the line below:

`<?php print_r(get_defined_constants()); ?>`

will print a list like:

    Array
    (
        [E_ERROR] => 1
        [E_WARNING] => 2
        [E_PARSE] => 4
        [E_NOTICE] => 8
        [E_CORE_ERROR] => 16
        [E_CORE_WARNING] => 32
        [E_COMPILE_ERROR] => 64
        [E_COMPILE_WARNING] => 128
        [E_USER_ERROR] => 256
        [E_USER_WARNING] => 512
        [E_USER_NOTICE] => 1024
        [E_ALL] => 2047
        [TRUE] => 1
    )

As of PHP 5, an additional parameter, `categorize`, may be passed, causing this function to return a multi-dimensional array with categories in the keys of the first dimension and constants and their values in the second dimension.

`<?php define("MY_CONSTANT", 1); print_r(get_defined_constants(true)); ?>`

Результатом выполнения данного примера будет что-то подобное:

    Array
    (
        [internal] => Array
            (
                [E_ERROR] => 1
                [E_WARNING] => 2
                [E_PARSE] => 4
                [E_NOTICE] => 8
                [E_CORE_ERROR] => 16
                [E_CORE_WARNING] => 32
                [E_COMPILE_ERROR] => 64
                [E_COMPILE_WARNING] => 128
                [E_USER_ERROR] => 256
                [E_USER_WARNING] => 512
                [E_USER_NOTICE] => 1024
                [E_ALL] => 2047
                [TRUE] => 1
            )

        [pcre] => Array
            (
                [PREG_PATTERN_ORDER] => 1
                [PREG_SET_ORDER] => 2
                [PREG_OFFSET_CAPTURE] => 256
                [PREG_SPLIT_NO_EMPTY] => 1
                [PREG_SPLIT_DELIM_CAPTURE] => 2
                [PREG_SPLIT_OFFSET_CAPTURE] => 4
                [PREG_GREP_INVERT] => 1
            )

        [user] => Array
            (
                [MY_CONSTANT] => 1
            )

    )

> Замечание: The value of the `categorize` parameter is irrelevant, only its presence is considered.

See also defined(), get_loaded_extensions(), get_defined_functions(), and get_defined_vars().

add a note User Contributed Notes
get_defined_constants
05-Jan-2006 11:29
`If you want to filter through and return only the prefix for your constants (i.e. you have constants with a naming scheme), then you can use this quick little function. It comes in handy for debugging.
<?php
function returnConstants ($prefix) {
foreach (get_defined_constants() as $key=>$value)
if (substr($key,0,strlen($prefix))==$prefix) $dump[$key] = $value;
if(empty($dump)) { return "Error: No Constants found with prefix '".$prefix."'"; }
else { return $dump; }
}
?>
Example:
<?php
define("SITENAME_OPTION_ONE",true);
define("SITENAME_OPTION_TWO",false);
define("SITENAME_URL","foo");
print_r(returnConstants("SITENAME_OPTION"));
?>
Will return:
Array
(
[SITENAME_OPTIONONE] => 1
[SITENAME_OPTIONTWO] =>
)`
me at gogogadgetscott dot info
18-Jun-2005 11:14
`<?php
/**
* Convert constant value into string name.
*
* @param mixed Constant value.
* @return string Constant name.
* @access public
*/
function sch_get_consant($value)
{
$constants = get_defined_constants();
$name = array_search($value, $constants, TRUE);
return $name;
}
?>`
add a note
get_extension_funcs get_current_user

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST