doulin9679 2015-04-01 20:33
浏览 40
已采纳

PHP - 从其他密钥获取密钥值

I have the following array:

$array = Array(
    "0" => Array (
        "id" => 1081,
        "name" => "John"
    ), 
    "1" => Array (
        "id" => 1082,
        "name" => "Matt"
    ),
    "2" => Array (
        "id" => 1083,
        "name" => "Roger"
    )
);

Is there anyway I can get name if I only know the id but without having to iterate through the array?

  • 写回答

3条回答 默认 最新

  • doukong5394 2015-04-01 20:41
    关注

    You can make an associative array that refers to the same elements, then use that:

    function make_assoc(&$array, $keyname) {
        $new_array = array();
        foreach ($array as &$elt) {
            $new_array[$elt[$keyname]] = $elt;
        }
        return $new_array;
    }
    
    $assoc_array = make_assoc($array, 'id');
    

    Now you can use $assoc_array[1083] to access the third item in the original array. And since this returns an array of references, modifying that will also modify the element of the original array.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿