0

我有一个多数组:

$bouton["modify-customer"] = array("fr"=>"liste-client", "en"=>"customer-list");
$bouton["create-customer"] = array("fr"=>"creer-client", "en"=>"create-customer");
$bouton["modify-item"] = array("fr"=>"liste-item", "en"=>"item-list");
$bouton["create-item"] = array("fr"=>"creer-item", "en"=>"create-item");
$bouton["modify-taxes"] = array("fr"=>"liste-taxes", "en"=>"taxes-list");
$bouton["create-taxes"] = array("fr"=>"creer-taxes", "en"=>"create-taxes");

在一个页面中,我有这个字符串:“ liste-taxes

我需要找到:“ tax-list

我怎样才能完成这项任务?...

我知道我需要在这里找到正确的键,它是 修改税然后我可能能够找到另一个值,而不是那个fr,而是那个en

我知道我不是很清楚,我的英语也不是很好,但我希望你们能帮助我,我会留在网站上,这样我就能回答你的问题,并在未来的评论中与你交谈。

谢谢。

4

5 回答 5

1

您需要遍历数组并搜索值,如下所示:

foreach($bouton as $key => $array){
    if( in_array("liste-taxes",$array)){
        echo $key . PHP_EOL;
        echo $bouton[$key]['en'];
    }
}

输出:

modify-taxes 
taxes-list
于 2013-06-17T18:53:12.490 回答
1
array_walk($bouton, function ($val) use ($searched, $lang, &$result) {
    if (in_array($searched, $val))
        $result = $val[$lang];
});

$searched您搜索的字符串在哪里,您搜索$lang的语言在哪里。$result将包含最终值。

例子:

$bouton["modify-customer"]      = array("fr"=>"liste-client", "en"=>"customer-list");
$bouton["create-customer"]  = array("fr"=>"creer-client", "en"=>"create-customer");
$bouton["modify-item"]          = array("fr"=>"liste-item", "en"=>"item-list");
$bouton["create-item"]      = array("fr"=>"creer-item", "en"=>"create-item");
$bouton["modify-taxes"]     = array("fr"=>"liste-taxes", "en"=>"taxes-list");
$bouton["create-taxes"]     = array("fr"=>"creer-taxes", "en"=>"create-taxes");

$searched = "liste-taxes";
$lang = "en";

array_walk($bouton, function ($val) use ($searched, $lang, &$result) {
    if (in_array($searched, $val))
        $result = $val[$lang];
});

print $result;
于 2013-06-17T18:54:30.837 回答
1

只需遍历您的数组并找到翻译:

$search = "liste-taxes";

$bouton["modify-customer"]      = array("fr"=>"liste-client", "en"=>"customer-list");
$bouton["create-customer"]  = array("fr"=>"creer-client", "en"=>"create-customer");
$bouton["modify-item"]          = array("fr"=>"liste-item", "en"=>"item-list");
$bouton["create-item"]      = array("fr"=>"creer-item", "en"=>"create-item");
$bouton["modify-taxes"]     = array("fr"=>"liste-taxes", "en"=>"taxes-list");
$bouton["create-taxes"]     = array("fr"=>"creer-taxes", "en"=>"create-taxes");

array_walk($bouton, function($v, $i) use($search) {
   if($v['fr'] === $search) {
       echo $v['en'];
   } 
});
于 2013-06-17T18:56:32.720 回答
0

您可以构建一个方便的翻译功能....

function translate($array, $searchterm, $lan){
foreach($array as $key => $array){
if( in_array($searchterm,$array)){
    return $array[$lan];
}}}

然后只需将数组、术语和语言传递给它,您将获得 fr 或 en 版本,具体取决于您指定的内容。

  echo translate($bouton,"taxes-list","fr");
于 2013-06-17T19:01:20.120 回答
0
foreach($bouton as $key => $array){
    if( in_array("taxes-list",$array)){
        echo $key . PHP_EOL;
        echo $bouton[$key]['en'];
    }
}

感谢 immullatin、phpisubuer01 和 bwoebi !!! 奇迹般有效。

于 2013-06-17T19:05:48.440 回答