2012-01-05 2 views
-1

так что будет 2 массива. Один фиксирована:сопоставить 2 массива и получить значения

$array1 =  "Animation" => "Animācija/Multfilmas", 
"Multiplication" => "Animācija/Multfilmas", 
"Action" => "Asa sižeta filmas", 
"Detective" => "Detektīvs", 
"Documentary" => "okumentālās filmas", 
"Drama" => "Drāma", 
"Adventure" => "Piedzīvojumu filmas", 
"Comedy" => "Komēdija", 
"Crime" => "Trilleris", 
"Thriller" => "Trilleris", 
"Fantasy" => "Fantastika/Sci-Fi", 
"Sci-Fi" => "Fantastika/Sci-Fi", 
"Family" => "Ģimenes filmas", 
"History" => "Vēsturiskas filmas", 
"Horror" => "Šausmu filmas", 
"Musical" => "Mūzikls", 
"Music" => "Mūzikls", 
"Romance" => "Romantika", 
"Mystery" => "Mistērija", 
"Sport" => "Sports", 
"Western" => "Vesterns", 
"War" => "Kara filmas" 

и второй один будет содержать что-то другое каждый раз, позвольте мне дать 2 случайные примеры того, что он может содержать:

$array2 = "War", "Western", "Romance" 

или

$array2 = "Comedy", "Drama" 

OK, поэтому идея состоит в том, чтобы сделать функцию, которая меняет «Комедию» на Komēdija и т. д. (перевод) , и если на конце есть 2 идентичных значения, сделайте это один, потому что преступность и триллер оба tr анслированный как Trilleris, поэтому, если у фильма есть оба жанра, он появится как Trilleris, Trilleris когда-то переводил и это было бы просто глупо.

ответ

2
function translate($words, $dictionary) 
{ 
    $return = array(); 
    foreach($words as $word) 
    { 
     $return[ $dictionary[$word] ] = $dictionary[$word]; 
    } 

    return $return; 
} 

$ Словаря является большим массивом, а $ слов является массивом, содержащие слова, чтобы перевести

+0

работает идеально, спасибо – Treat

0

Вы можете использовать ключевые значения на множество массива, чтобы найти и перевести массив, который должен быть переведен.

$translated = array(); 

function translate($array){ 
    foreach($array as $arr){ 
     if(array_key_exists($arr, $array1){ 
      array_push($translated, $array1[$arr]); 
     } 
    } 
} 

var_dump($translated); 

EDIT: Измененной опечатки в array_push