Tôi có một mảng mà trông như thế này:Nhận giá trị mảng cụ thể trong đó một giá trị khác là "1"?
Id = "ADA001"
Stock: 15
Mảng có khoảng 1.700 hồ sơ mà trông giống nhau, làm thế nào tôi sẽ tìm kiếm các mảng cho ID 1 và trả lại chứng khoán?
Edit: tôi sẽ cần truy cập vào chứng khoán của mỗi một trong những 17000 hồ sơ
Edit: tôi đã nhận được sự giúp đỡ của Daniel Centore, ông nói với tôi để thiết lập một khóa chính để mảng id của mục và nó bằng với cổ phiếu, nhưng tôi không thể làm cho nó hoạt động được.
tôi hiện đang nhận được dữ liệu từ một cơ sở dữ liệu MySQL và tôi lưu nó trong một mảng, như vậy:
$data[] = array();
$getdisposabletest = mysqli_query($connect, "Select id, disposable FROM products");
while ($z = mysqli_fetch_array($getdisposabletest)) {
$data = $z;
}
Bây giờ khi tôi sử dụng mã Daniels trông như thế này:
$myMap = [];
foreach($data as $item) {
$myMap[$item['id']] = $item['disposable'];
}
Nó không trả lại bất cứ điều gì khi tôi cố gắng lặp lại sản phẩm của mình bằng ID "ADA001"
echo $myMap["ADA001"];
Ngoài ra khi tôi làm "đếm ($ mymap)" nó nói rằng 2 bản ghi của nó lớn, khi nào nó phải là muuuch lớn hơn thế?
Cảm ơn bạn đã trợ giúp
bạn sẽ chia sẻ thêm một chút cấu trúc mảng –
Nếu id là duy nhất thì sẽ có ý nghĩa trong thời gian dài cho mảng được lập chỉ mục dựa trên chúng, cũng như giải quyết vấn đề cụ thể này. – iainn
Sử dụng 'array_filter (...)' http://php.net/manual/en/function.array-filter.php, và nếu bạn chắc chắn rằng ID là duy nhất, sử dụng 'current (array_filter (...)) 'để trả về bản ghi đầu tiên. – Anton