我正在尝试创建一个脚本来检查,如果有被调用的,则调用它并将其放入数组中。但问题是,如何检查是否存在具有不同结尾的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”谢谢, 但主要问题是如果有三个定义,如果有两个定义,则如何在数组中添加三个字符串。
答案 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