PHP:使用现有的唯一值替换数组索引键

3

我查询了我的数据库并将结果存储到一个数组中。它看起来像这样:

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,但我无法理解解决方案。我觉得使用 for循环 是最好的选择?新数组应该放在同一变量还是新变量中?
1个回答

4

您可以简单地使用array_combinearray_column,就像这样:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接