Algumas considerações:
Aquela primeira sintaxe não existe, quanto a questão das aspas duplas, vejamos:
echo ('a' != "a")?'Verdadeiro':'Falso';
echo '<hr>';
echo ("a" != "a")?'Verdadeiro':'Falso';
echo '<hr>';
echo ('a' != 'a')?'Verdadeiro':'Falso';
Se elas fizessem diferença no primeiro caso, fariam diferença neste e como se vê o resultado é o mesmo... ou seja, a menos que você esteja usando uma variável ou uma constante usar aspas ou apóstrofes não faz diferença, na realidade até faz, pois apóstrofes faz o processamento se tornar mais rápido, já que tudo que está dentro dele é ignorado (variáveis dentro de apóstrofes não são interpretadas.
Se essa sintaxe existe no PHP, qual o resultado esperado para isto:
$link = 'x';
if($link == "teste" || "teste1"){
echo 'verdadeiro';
}else{
echo 'falso';
}
Teoricamente deveria ser FALSO, mas retorna VERDADEIRO, chegamos a que conclusão? A sintaxe informada não existe... se quiser testar dois itens terá que utilizar
if($link == "teste" || $link == "teste1"){
OU
if($link == 'teste" OR $link == "teste1"){