0

我正在尝试制作一个脚本来检查是否有定义调用,然后调用它并将其放入数组中。但问题是,如何检查是否有多个定义不同的结尾:在我的例子中:“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”谢谢,但主要问题是如何在数组中添加三个字符串,如果有三个定义,如果两个然后两个。

4

1 回答 1

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] => Language_Array_Set_1 [1] => Language_Array_Set_2 ) 语言数=2

于 2013-03-24T22:41:30.070 回答