E aí, Camila!
Essas coisas que você quer fazer são realizadas no que chamamos de back-end, ou seja, todo o processamento que é feito no servidor.
JavaScript puro é uma linguagem front-end, ou seja, tudo é feito no cliente, em outras palavras, no seu navegador. É por isso que nada é excluído permanentemente, pois se você excluir no seu navegador, ao atualizar a página o servidor manda os dados novamente.
PHP não é uma linguagem de banco de dados, é uma linguagem que pode utilizar banco de dados. O JavaScript também pode fazer isso, mas como ele é front-end, essa prática acaba se tornando uma grande falha de segurança (você não quer os dados de acesso do seu banco disponíveis no console do navegador, quer?).
É possível utilizar o próprio JavaScript para salvar esses dados com segurança através do Node.js que, explicando bem superficialmente, é uma versão do JavaScript que roda no back-end.
Você pode salvar esses dados em MySQL, que é a linguagem de bancos de dados mais comum da web e acessar esse banco com qualquer linguagem back-end, o que inclui o PHP que você citou, mas também o próprio JavaScript com Node.js ou mesmo Java, Python, etc.
Como você está estudando JavaScript, recomendo que se familiarize com a linguagem antes de começar a se aventurar no Node.js. Você pode até brincar um pouco com bancos de dados direto pelo front-end só pra ver como a coisa funciona, mas mantendo em mente que o mais seguro é fazer isso no back-end.
Aqui na Alura você encontra cursos pra todas essas linguagens que citei, mas recomendo que continue explorando o JavaScript e conheça o PHP com MySQL.
Espero que tenha esclarecido. Bons estudos!