You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过ID快速获取PHP二维数组中对应title的值?

最优实现:无需遍历快速获取指定id的数组元素title值

嘿,这个需求我太熟悉了!不用手动遍历数组的话,PHP内置的array_column()函数就是最优解——它是底层实现的,效率比自己写循环高得多,而且代码超简洁。

两种实现方式,按需选择:

方式一:保留完整元素,方便后续复用其他字段

如果你之后还需要获取该元素的sign等其他字段,可以先把原数组重新索引为以id为键的关联数组:

$rates = [ 
    ['id' => 'd', 'title' => 'dollar', 'sign' => '$'], 
    ['id' => 'r', 'title' => 'rial', 'sign' => 'ریال'], 
    ['id' => 't', 'title' => 'toman', 'sign' => 'T'] 
];
$rate = 'd';

// 用id作为新数组的键,保留原元素完整结构
$indexedRates = array_column($rates, null, 'id');
// 直接通过$rate访问对应元素的title
$targetTitle = $indexedRates[$rate]['title']; // 结果:'dollar'

之后如果需要取该元素的sign,直接$indexedRates[$rate]['sign']就能拿到,非常方便。

方式二:直接提取title,更省内存

如果只需要title这一个字段,可以一步到位,直接生成以id为键、title为值的数组:

$rates = [ 
    ['id' => 'd', 'title' => 'dollar', 'sign' => '$'], 
    ['id' => 'r', 'title' => 'rial', 'sign' => 'ریال'], 
    ['id' => 't', 'title' => 'toman', 'sign' => 'T'] 
];
$rate = 'd';

// 直接生成id => title的映射数组,然后取值
$targetTitle = array_column($rates, 'title', 'id')[$rate]; // 结果:'dollar'

注意事项

这个方案的前提是数组中每个元素的id值都是唯一的,从你给出的示例数组来看完全满足这个条件,所以可以放心使用~

内容的提问来源于stack exchange,提问作者Ahmad Badpey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:05:11