2011-12-02 9 views
0

En supposant que je situation suivante:Comment remplacer les clés du tableau avec des valeurs prédéfinies

J'ai un tableau comme celui-ci:

$array = array(1 => "text1",2 => "text2", 3 => "Text3" , 4 => "Text4"); 

Après quelques fonctions que je reçois une chaîne qui contient ces valeurs:

$string = "2,1,4,3"; // this values are dynamic 

Ce que je veux réaliser est de trier ce tableau ($array) dans l'ordre de la chaîne; de sorte que le résultat devrait être:

<--- some function --- > 
$result = array(2 => "text2",1=> "text1",4=>"Text4",3=>"Text3")); 
+0

Veuillez ne pas me dire que vous obtenez ces valeurs dynamiques d'une base de données. – NullUserException

+0

non, ce sont reçus au hasard par fonction personnalisée .. merci –

Répondre

0
  1. Cassez la chaîne en index avec explode
  2. Faire un tableau vide $result
  3. itérer sur le tableau éclaté de touches, faisant $result[$key] = $input[$key]

See it in action.

1
$keyArr = explode(',', $string); 
$sortedArr = array(); 

foreach ($keyArr as $key) 
{ 
    $sortedArr[$key] = $array[$key]; 
} 
+0

merci, cela fonctionne –

Questions connexes