2016-07-08 33 views
3

我查询了数据库,并将结果存储到数组中。它看起来像这样: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 
    ) 
) 

这是全部放在一个名为$results的变量中。目前,我在我的网页上显示的数据位,如下所示:

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

您可以简单地使用array_combinearray_column等作为

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

一个很好的解决方案! –

+0

谢谢@Sougata .... –