У меня есть массив, который выглядит следующим образом:Получить конкретное значение массива, где другое значение равно «1»?
Id = "ADA001"
Stock: 15
Массив имеет около 1700 записей, выглядит так же, как бы я искать массив для ID 1 и вернуть акции?
Edit: мне нужно будет получить доступ к акции каждого из этих 17000 записей
Edit: Я получал некоторую помощь от 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 записи большие, когда это должно быть больше, чем это?
Спасибо за помощь
Вы бы разделили немного больше структуры массива –
Если идентификаторы уникальны, тогда будет иметь смысл в долгосрочной перспективе для индексации массива на основе их, а также для решения этой конкретной проблемы. – iainn
Используйте 'array_filter (...)' http://php.net/manual/en/function.array-filter.php, и если вы уверены, что идентификаторы уникальны, используйте 'current (array_filter (...)) ', чтобы вернуть первую запись. – Anton