2016-07-08 8 views
3

データベースを照会し、その結果を配列に格納します。それは次のようになります。これは、すべての$resultsという変数に置かれPHP:配列インデックスキーを既存の一意の値で置き換えよう

Array 
(
[0] => Array 
    (
     [Submission_ID] => 111 
     [First_Name] => Dylan 
     [Last_Name] => Taylor 
     [Abstract_Title] => Research 1 
    ) 

[1] => Array 
    (
     [Submission_ID] => 222 
     [First_Name] => Michael 
     [Last_Name] => Jones 
     [Abstract_Title] => Research 2 
    ) 

[2] => Array 
    (
     [Submission_ID] => 333 
     [First_Name] => Wills 
     [Last_Name] => Adams 
     [Abstract_Title] => Research 3 
    ) 
) 

。現在、私はそうのように私のページ上のデータのビットを表示しています:

echo $results[0][Abstract_Title] 

それはすべての作品は、インデックスキーが提出IDに置き換えた場合しかし、それは便利なこと:

Array 
(
[111] => Array 
    (
     [Submission_ID] => 111 
     [First_Name] => Dylan 
     [Last_Name] => Taylor 
     [Abstract_Title] => Research 1 
    ) 

[222] => Array 
    (
     [Submission_ID] => 222 
     [First_Name] => Michael 
     [Last_Name] => Jones 
     [Abstract_Title] => Research 2 
    ) 

[333] => Array 
    (
     [Submission_ID] => 333 
     [First_Name] => Wills 
     [Last_Name] => Adams 
     [Abstract_Title] => Research 3 
    ) 
) 

ので、

echo $results[111][Abstract_Title] 

任意のアイデア:私は代わりにこれを行うことができます(そうでない場合、私はちょうどインデックスキーを毎回ルックアップするために、アレイを印刷する必要がありますか)? (私はプログラミングに慣れていません)。私が見つけた最も近い答えはphp replace array id keysですが、私は解決策の中で頭を上げることができません。私はforloopが最善の選択だと考えましたか?新しい配列を同じ変数または新しい変数に配置する必要がありますか?

答えて

4

あなたは、単に

$final_result = array_combine(array_column($result,'Submission_ID'),$result); 
print_r($final_result); 
+1

良い解決策としてのようarray_combinearray_columnを使用することができます! –

+0

ありがとう@Sougata .... –

関連する問題