PHP использует точку в качестве оператора для объединения строк, а не знак плюс.
Знак плюс добавляется численно. Это объясняет, почему вы получаете нулевой результат, поскольку обе добавляемые вами строки численно равны нулю.
И плюс, и точка могут комбинироваться со знаком равенства, как вы делаете, поэтому исправленная версия вашей строки кода будет выглядеть так:
$myvar .= '~';
Надеюсь, это поможет.