PHP.mk документација

get_defined_constants

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.get-defined-constants.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.get-defined-constants.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
get_defined_constants

Референца за `function.get-defined-constants.php` со подобрена типографија и навигација.

function.get-defined-constants.php

get_defined_constants

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

get_defined_constantsВраќа асоцијативен список со имињата на сите константи и нивните вредности

= NULL

get_defined_constants(bool $categorize = false): array

Враќа имиња и вредности на сите константи што се моментално дефинирани. Ова ги вклучува оние создадени од екстензии, како и оние создадени со define() function.

Параметри

categorize

Предизвикува оваа функција да врати повеќедимензионален список со категории во клучевите на првата димензија и константи и нивните вредности во втората димензија.

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

Горниот пример ќе прикаже нешто слично на:

Array
(
    [Core] => 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
        )

)

Вратени вредности

Враќа список со константи име => вредност на константа, опционално групирани по име на екстензија што ја регистрира константата.

Примери

Пример #1 get_defined_constants() Пример

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

Горниот пример ќе прикаже нешто слично на:

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
)

Види Исто така

  • defined() - отстрани дадена променлива
  • constant() - Враќа вредност на константа
  • get_loaded_extensions() - Враќа низа со имињата на сите компајлирани и вчитани модули
  • get_defined_functions() Пример #2 Филтриран
  • get_defined_vars() - Враќа низа од сите дефинирани функции

Белешки од корисници 5 белешки

Боб
пред 17 години
Add this method to your class definition if you want an array of class constants (get_defined_constants doesn't work with class constants as Peter P said above):

<?php
public function get_class_constants()
{
    $reflect = new ReflectionClass(get_class($this));
    return $reflect->getConstants());
}
?>

You could also override stdObject with it so that all your classes  have this method
R4FC0R3
пред 8 години
If you want to access directly on one category, just use:

<?php

print_r(get_defined_constants(true)['Core']);

?>

you can replace 'Core' by the category you wish (e.g. user):

<?php

print_r(get_defined_constants(true)['user']);

?>

Warning: only use this on development side
Анонимен
20 години пред
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] => 
)
мене на gogogadgetscott dot info
20 години пред
<?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;
}
?>
S-Tian
пред 4 години
If you want to create a static method that you can copy and paste into each class you have constants created, you can use:

<php
public static function get_class_constants(): array
{
    $reflect = new ReflectionClass(self::class);

    return $reflect->getConstants();
}
?>
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.