Réponse courte : les deux
Si les deux existent c'est pour répondre à des besoins différents. Elles n'ont pas le même comportement :
$chiffre=12345;
echo 'on affiche : $chiffre'; // Avec des '' : Affiche $chiffre
echo "on affiche : $chiffre"; // Avec des "" : Affiche 12345
On dit que les variables à l'intérieur des chaînes sont
évaluées dans les chaînes délimitées par des doubles quotes (""). A cause de cela, il y a aussi une petite différence de performance entre les deux à l'éxécution, la chaîne en simple quotes est plus facile à analyser pour php.
Comme on recommande souvent aux développeurs php, dans le cadre des bonnes pratiques, de sortir leurs variables des chaînes, utiliser le plus souvent possible des simple quotes (apostrophes : ' ) est un bon conseil, mais ça n'a rien d'obligatoire.
Sinon il y a aussi deux autres syntaxes à connaître, heredoc et nowdoc, et je te renvoie vers le manuel php pour les découvrir
