php语言系统

时间:2013-03-24 20:53:35

标签: php

我正在尝试创建一个脚本来检查,如果有被调用的,则调用它并将其放入数组中。但问题是,如何检查是否存在具有不同结尾的multy定义:例如我的情况:“Language_Array_Set _'。$ i”。如果我宣布四个名称定义 “”Language_Array_Set_1,Language_Array_Set_2,Language_Array_Set_3,Language_Array_Set_4“。调用所有这些并放入一个数组。

for($i = 0; $i < Language_Number; $i++) {
    if( defined ( string 'Language_Array_Set_'.$i ) ) {
        return $available = array( 'Language_Array_Set_'.$i => 'en', 'Language_Array_Set_'.$i => 'lt');         // lt, en means that example: Language_Array_Set_1 = en
    }
}
$result = array( 'en', 'lt' );  //what do i want to show me.

问题我需要在哪里寻找,或者你会在我的位置做什么或者你将如何做?谢谢你的回答。

Language_Number定义在另一个文件中调用,它现在拥有数字:2。

k,此处: 可能的输入是:

define( "Language_Array_Set_1", "en" );
define( "Language_Array_Set_2", "lt" );

...

输出:

return  array( en, lt );

它需要检查定义了多少Language_Array_Set_ $ number并使用该数字创建一个数组。

“ÁlvaroG。Vicario”谢谢, 但主要问题是如果有三个定义,如果有两个定义,则如何在数组中添加三个字符串。

1 个答案:

答案 0 :(得分:0)

我会做这样的事情:

<?php
//Example constants
define( "Language_Array_Set_1", "en" );
define( "Language_Array_Set_2", "lt" );

$definedConstants = get_defined_constants();
$languageArray = array();

foreach($definedConstants as $df => $value) {
    //If first part of constant is Language_Array_Set_ then add
    //defined constant into array $languageArray
    if (substr($df,0,19) == 'Language_Array_Set_') {
        $languageArray[] = $df;
    }

}

//Output relevant information
echo 'lang array=' . print_r($languageArray,true);

$nrOfLanguages = count($languageArray);
echo 'Nr of languages=' . $nrOfLanguages;

?>

输出将是:

lang array = Array([0] =&gt; Language_Array_Set_1 [1] =&gt; Language_Array_Set_2)Nr of languages = 2