如何将单个php文件中定义的所有常量都添加到数组中?

时间:2013-05-23 11:49:13

标签: php

如何将单个php文件中定义的所有常量都添加到数组中? 这是一个定义常量的php文件。
我希望将此页面中的所有常量都添加到数组中;
我该怎么办呢?

<?php 
/**
 *  hello wolrd
 ----------------------------------------
 */

define('HELLO_WORLD','hello world');
define('GOOD_BOOD','
    very good
');
define(
    'JY_CREDITS_HTML',
    '
        <p>hello wrold</p>
        <div class="good">
            <span>world</span>
        </div>

    '
);
// define('META_KEY','Wat adidi');

define('XXX',"xxx")

/* 
    hello world
 */
?>

结果应该是

<?php 
    $result=array(
        'HELLO_WORLD' => 'hello wrold',
        'GOOD_BOOD' => 'very good',
        'JY_CREDITS_HTML' =>'....',
        'XXX'=>'xxx'
    );

 ?>

5 个答案:

答案 0 :(得分:5)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

您可以使用以下内容: -

define('HELLO_WORLD','hello world');

define('GOOD_BOOD','
    very good
');

define(
'JY_CREDITS_HTML',
'
    <p>hello wrold</p>
    <div class="good">
        <span>world</span>
    </div>

'
);

define('XXX',"xxx");
$result = get_defined_constants(true);
if(isset($result['user'])){
    $result = $result['user']; //just incase there are no user constants set.
}

var_dump($result);

输出: -

array (size=4)
  'HELLO_WORLD' => string 'hello world' (length=11)
  'GOOD_BOOD' => string '
    very good
' (length=17)
  'JY_CREDITS_HTML' => string '
    <p>hello wrold</p>
    <div class="good">
        <span>world</span>
    </div>

' (length=92)
  'XXX' => string 'xxx' (length=3)

请参阅此处http://www.php.net/manual/en/function.get-defined-constants.php

答案 3 :(得分:1)

include('hello_world.php');   
$constants = get_defined_constants();

在与常量相同的脚本中工作时不需要Include()。

答案 4 :(得分:1)

<?php
   $user_def_cnst=get_defined_constants(true)['user'];
   print_r($user_def_cnst);
?>