2016-08-22 13 views
-3

配列の値に基づいてキーを設定します。私が欲しいものPHPの配列のキーに基づいて値を変更します。

$ids= array(1,2,3,5,7,8); 

$newkeys = array('hck','scr','lcss','ftbl','bsktbl','stbl'); 
$array = array_combine(array_map(function($el) use ($newkeys) { 
    return $newkeys[$el]; 
}, array_keys($ids)), array_values($ids)); 

//Show Value  
print_r($array); 
die; 

値は、それがHCKとしてセットキーよりも値1を持ち、その値が1になる場合、IDSは2値を持っているならば、SCRとしてキーを設定し、その値はSCRされます、私の配列idsをチェック。我々はids = array(1,3,7,8)を持っている場合...ように...

は、出力は

Array 
(
    [hck] => 1 
    [lcss] => 3 
    [bsktbl] => 7 
    [stbl] => 8 
) 
+0

なぜdown vote ?? – user6606700

答えて

3

以下のようになります。あなたは自分のキー値refrenceの配列を作成する必要があり、これを試してください、あなたは簡単に値をマッピングすることができますその配列から任意の与えられたIDの入力配列

$ids= array(1,2,3,5,7,8); 
    $newkeys = array('hck','scr','lcss','ftbl','bsktbl','stbl'); 

    $keyValueArray = array(); 

    foreach($ids as $key=>$id) 
    { 
     $keyValueArray[$id] =$newkeys[$key]; 
    } 


    $inputArr = array(1,3,7,8) ; 
    $outputArr = array(); 

    foreach($inputArr as $id) 
    { 
     $outputArr[$keyValueArray[$id]] = $id; 
    } 
    echo "<pre>"; 
    print_r($outputArr); 
    echo "</pre>"; 

私はあなたに役立つことを願っています。

+0

質問の3つの答えと3つの異なる解釈。私は実際にあなたのものが正しいものだと思っています。 – smarx

+0

良い、その後私の答えをupvote;) –

関連する問題