【发布时间】:2016-08-04 16:53:40
【问题描述】:
我有一个如下所示的数组:
Id = "ADA001"
Stock: 15
该数组有大约 1700 条看起来相同的记录,我将如何在数组中搜索 ID 1 并返回股票?
编辑:我需要访问这 17000 条记录中每一条的库存
编辑:我从 Daniel Centore 那里得到了一些帮助,他告诉我将数组主键设置为项目的 id 并且它等于库存,但我可以'让它工作。
我目前正在从 MySQL 数据库中获取数据并将其存储在一个数组中,如下所示:
$data[] = array();
$getdisposabletest = mysqli_query($connect, "Select id, disposable FROM products");
while ($z = mysqli_fetch_array($getdisposabletest)) {
$data = $z;
}
现在当我使用如下所示的 Daniels 代码时:
$myMap = [];
foreach($data as $item) {
$myMap[$item['id']] = $item['disposable'];
}
当我尝试使用 ID“ADA001”回显我的产品时,它不会返回任何内容
echo $myMap["ADA001"];
当我执行“count($mymap)”时,它说它的 2 条记录很大,什么时候应该比那个大得多?
感谢您的帮助
【问题讨论】:
-
你能多分享一点数组结构吗
-
如果 id 是唯一的,那么从长远来看,基于它们对数组进行索引以及解决这个特定问题是有意义的。
-
使用
array_filter(...)php.net/manual/en/function.array-filter.php,如果你确定ID是唯一的,使用current(array_filter(...))返回第一条记录。 -
@Anton 我忘了 ID 实际上是一个字符串。