PHP语言系统


php language system

我试图使一个脚本检查,如果有定义调用,然后调用它,并把它放在数组中。但问题是,如何检查,如果有不同结尾的多个定义:例如在我的情况下:"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在另一个文件中定义调用,它现在保存number:2.

k: 可能的输入是:

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

…输出:

return  array( en, lt );

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

"Álvaro G. Vicario"谢谢但主要问题是如何在数组中添加三个字符串如果有三个定义,如果两个则两个

我会这样做:

<?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] => Language_Array_Set_1 [1] => Language_Array_Set_2) Nr of languages=2