Attribuer plusieurs touches à la même valeur dans la gamme
$lang = array(
'thank you'=>'You are welcome',
'thanks'=>'You are welcome',
'thank ya'=>'You are welcome'
);
Comme vous pouvez le voir ce qui se passe pour obtenir fastidieux de l'écriture de plusieurs touches pour la même valeur est-il possible que je peux faire.
$lang['thanks']=>$lang['thank ya']=>$lang['thank you']
Juste essayer de me sauver du temps ici à partir de la réécriture d'une centaine de fois
Classe PHP de la fonction:
function fetch_key($key, $l,$bool){
$dynamic = new l18n;
if($bool == true or is_null($bool)){
return addslashes( $dynamic->convert($key,$l) );
}else{
return $dynamic->convert($key,$l);
}
}
EX
$lang = array(
'thank you'=>'You are welcome',
'thanks'=>'You are welcome',
'thank ya'=>'You are welcome',
'hello'=>'hello',
'goodbye'=>'goodbye'
);
Donc j'aurais besoin de faire de sorte qu'il ajoute à l'ensemble et de ne pas remplir ma clé de valeurs, avec la même valeur, alors qu'en fait ils ne sont pas tous exactement la même. J'aurais dit au début
Je voudrais retourner le tableau afin que
Hmmm voir, j'ai un très long tableau, et j'utilise des classes d': voir ma nouvelle mise à jour. nous utilisons JS pour rechercher la chaîne de caractères comme un algorithme, et il analyse ensuite une réponse avec la langue par défaut. Afin de faire de vous de bienvenue ne fonctionne pas.
Je ne vois rien dans votre modification qui empêche un nettoyeur de structure. À un certain moment, vous êtes probablement faire
Hmmm, je suis un newb en php donc je ne suis pas sûr array_search ou l'une des fonctions de tableau en plus de tableau 🙂 je sais que isset est toujours parce que je suis en train d'écrire l'infrastructure moi-même avant de relâcher le l18n fichier. Vous auriez à me montrer de quoi vous parlez puisque je suis un newb avec tout cela. Et ce que mon js le fait est que si le mot
Si vous êtes nouveau à une langue, alors vous aurez toujours envie de passer en revue la documentation que les fonctions natives sont généralement plus rapides que d'autres implémentations. Pour PHP les fonctions de tableau, la documentation est à us3.php.net/manual/en/ref.array.php
'You are welcome'
points à toutes les équivalents possibles au lieu de tous les équivalents pointant vers la même valeur. Qui va utiliser moins de mémoire, trop.Hmmm voir, j'ai un très long tableau, et j'utilise des classes d': voir ma nouvelle mise à jour. nous utilisons JS pour rechercher la chaîne de caractères comme un algorithme, et il analyse ensuite une réponse avec la langue par défaut. Afin de faire de vous de bienvenue ne fonctionne pas.
Je ne vois rien dans votre modification qui empêche un nettoyeur de structure. À un certain moment, vous êtes probablement faire
isset($lang[$word])
et pourrait tout aussi facilement parcourir et utilisez la array_search
fonction.Hmmm, je suis un newb en php donc je ne suis pas sûr array_search ou l'une des fonctions de tableau en plus de tableau 🙂 je sais que isset est toujours parce que je suis en train d'écrire l'infrastructure moi-même avant de relâcher le l18n fichier. Vous auriez à me montrer de quoi vous parlez puisque je suis un newb avec tout cela. Et ce que mon js le fait est que si le mot
hello
semble qu'il recherche js:lang.hello
et utilise la réponse que mon header de php fait le php dans un fichier js btwSi vous êtes nouveau à une langue, alors vous aurez toujours envie de passer en revue la documentation que les fonctions natives sont généralement plus rapides que d'autres implémentations. Pour PHP les fonctions de tableau, la documentation est à us3.php.net/manual/en/ref.array.php
OriginalL'auteur EasyBB | 2014-05-17
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
array_fill_keys()
:Exemple
Veuillez voir la mise à jour en bas
Eh bien, vous pouvez faire
array_fill_keys()
pour chacun et ensuite fusionner tous les tableaux en une à l'aide dearray_merge()
.Toutes les clés sont uniques, il n'y a pas de problèmes avec elle.Oui,exactement
Il a déclaré, que vous pouvez optimiser votre structure comme
array('You are welcome' => array(),'hello'=>array('hello','hi',...),...)
et je pense que c'est une bonne idée aussi.OriginalL'auteur potashin
Alors que je suis réticent à offrir une solution de code lorsque vous avez admis vous êtes nouveau à la langue et n'ont pas étudié bien, je vais espérer que ce projet est à vous de jouer avec la langue à apprendre plutôt que de sauter la tête la première à donner quelque chose à un client où il sera finalement pas bien.
Edit: Viens de voir votre "bonne chose, je vais à l'université pour ce" et je suis heureux que j'ai posté pour vous aider.
Ici est une structure qui fait ce que je crois que vous cherchez à le faire.
Il utilise une structure de classe avec des membres statiques/méthodes (donc pas de l'instanciation de la classe est nécessaire). Il est facile d'étendre avec une liste pré-définie de conversions (de travail est nécessaire pour ajouter des conversions supplémentaires lors de l'exécution.) Il devrait également fonctionner assez rapide.
OriginalL'auteur Sylas Seabrook
- Je le faire en trois étapes:
1 - Définir les valeurs uniques
2 - Remplir de la valeur répétitive
3 - l'Union 1. et 2.
Ont un coup d'oeil à array_fill_keys et Tableau Opérateurs +=
OriginalL'auteur micaball