Quello | significa 'bitwise OR', che converte le stringhe in binario, quindi le sovrappone l'una sull'altra per calcolare il risultato utilizzando l'OR logico per ogni posizione, ovvero se una stringa ha un 1 in quella posizione, il risultato avrà un 1, altrimenti Otterrai uno 0.
In questo caso, lo fa con i codici carattere ascii numerici di ciascun carattere, che a volte portano a nuovi codici di caratteri e talvolta a rifiuti, che non verranno visualizzati. Questo è il motivo per cui l'inizio di "Hello world" è incasinato, in cui è sovrapposto a "test", ma la fine è soddisfacente perché non ha nessun 1 aggiunto ad esso da un'altra stringa in quel punto. Vedi here per un esempio più dettagliato dal manuale (usa XOR, ma la stessa idea).
Utilizzo. per concatenazione.
fonte
2012-03-17 12:29:55
http://www.php.net/manual/en/language.operators.bitwise.php –
in quale lingua '' 'concatena? –
Per quanto ne so, la maggior parte della lingua non usa '|' per concatizzare la stringa. Normalmente usa '.' o' + ' – Rezigned