php - 如何在不循环的情况下在多维数组中查找值?
问题描述
我有一个存储在$accounts变量中的多维数组:
Array
(
[0] => Array
(
[id] => 1
[account] => ACR016
[desc] => Salary
)
[1] => Array
(
[id] => 2
[account] => ACR017
[desc] => Bonuses
)
)
我想通过在$accounts中使用其“帐户”来查找/获取“desc”值,
在 SQL 中,我会这样:
SELECT desc FROM table WHERE account = 'ACR016';
如何在不执行 SQL 查询(因为数组已存储在变量中)且不循环的情况下使用 PHP 做到这一点?
解决方案
为此,请使用https://www.php.net/manual/en/function.array-column.php。
由于这是一个内置函数,它应该比执行自己的循环更好。
例子:
$accountDescriptions = array_column($accounts,'desc','account');
将导致:
Array
(
[ACR016] => Salary
[ACR017] => Bonuses
)
或者,您可以使用:
例子:
$accountDescriptions = array_column($accounts,null,'account');
然后你会得到所有用帐户而不是数字索引键入的数据。
推荐阅读
- oracle11g - oracle 11g如何在同一个sid中导入多个dump文件?
- javascript - 如何以编程方式减小 Node/Javascript 中的 PDF 大小
- c++ - std::vector 的这种读取是如何工作的?
- firebase - 使用 Firestore 将初始数据嵌入我的 ReactNative 应用程序的最佳方式是什么?
- angular - 单击重置按钮,然后单击提交按钮转到 UPDATE 调用而不是 POST 调用
- php - 强制文件下载处理
- powershell - 无法在 Azure Runbook 上运行 Az 命令
- postgresql - CROSSTAB SQL 状态:42804
- oracle - Oracle-插入查询慢
- javascript - 未捕获的类型错误:视口不是构造函数