msdoc11, в запросе можно использовать только 1 WHERE, но если вы хотите использовать несколько фильтров, то нужно использовать логические операторы AND или OR
User 4550, да, верно, если изменить одно значение, то изменятся обе переменные, т.к. они смотрят на одно и то же значение в
оперативной памяти.
По поводу использования ссылок в массивах я каких то рекомендаций или наоборот предостережений не встречал, но как по мне там где можно обойтись без ссылок, лучше обойтись без них т.к. можно создать утечки памяти, либо словить какое то не очевидное поведение
User 4550, когда вы объявляете в foreach переменную $item, то работаете с копией переменной, по этому изменение этой переменной в цикле не меняет значение в массиве, но если перед переменной $item добавить знак &, то в цикле будет происходить работа с оригинальным значением, а не копией, т.к. оно передано по ссылке
Петро Бойко, попробуйте sqlite, он хранит данные в одном файле, но при этом у вас будут все прелести реляционных БД. Сможете легко читать и обновлять данные без ручного парсинга файлов.