2017-04-03 22 views
0

目录结构是这样的如何获取yii1中的所有语言数组?

modules/ 
     /module1 
       /messages/ 
         /en 
          /admin.php 
          /profile.php 
         /ru/ 
          /admin.php 
          /profile.php 

     /module2/ 
       /messages/ 
         /en 
          /account.php 
          /stats.php 
         /ru 
          /account.php 
          /stats.php 

每个茨艾伦PHP文件具有内,其中由数组包含一个键值对的文本字符串例如像

return array(
'hello' => 'aloha' 
); 

这样一个巨大的数组如何获取每个文件中的数组?

+0

你的目标是获得所有这些文件中的所有数组?或特定的语言? – hassan

+0

确定例如英文(en)..如何从en目录下的每个文件获取数组? – sasori

+0

你的意思是? http://www.yiiframework.com/wiki/638/simple-example-for-language-translation/ – dimis283

回答

-1

您可以实现新的方法来实现这个使用glob() PHP函数

$language = 'en'; 

foreach (glob('modules/*/messages/' . $language . '/*') as $file) { 
    echo "$file\n"; 
} 

输出:

modules/module1/messages/en/admin.php 
modules/module1/messages/en/profile.php 
modules/module2/messages/en/admin.php 
modules/module2/messages/en/profile.php 

从这些文件中返回数组:

$language = 'en'; 
$arrays = []; 
foreach (glob('modules/*/messages/' . $language . '/*') as $file) { 
    $arrays[] = require_once "$file"; 
} 

print_r($arrays); 
+0

那么你如何从这些文件中得到数组? – sasori

+0

只需使用require_once,检查更新 – hassan

+0

是否还有一种方法可以获得eg en,ru,ch,jp ..因为这些缩写是消息目录中的目录名称......我想知道还有多少种语言在消息目录 – sasori

相关问题