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