Ciao,
Chi mi spiega gentilmente cosa significa l'utilizzo dell'operatore "&" in questo contesto?Codice PHP:
$length = ord($payload[1]) & 127;
Grazie![]()
Ciao,
Chi mi spiega gentilmente cosa significa l'utilizzo dell'operatore "&" in questo contesto?Codice PHP:
$length = ord($payload[1]) & 127;
Grazie![]()
Ciao,
penso sia scritto male oppure può darsi che sia scritto in una versione php datata, io conosco php 5.3, comunque la funzione ord() dovrebbe trasformare un carattere ASCII in un intero(integer) come risulta scritto qui:
http://php.net/manual/it/function.ord.php
puoi verificare tu stesso!
Buona giornata!
ciao,
se non erro qui dovrebbe venir inizializzata la variabile $length soo se il secondo elemento dell' array &payload convertito in un valore ASCII corrisponde al valore 127. Dovresti leggerti la doc. di PHP con le referenze.
Ok trovato, è un operatore sui bit.
http://www.php.net/manual/it/languag...rs.bitwise.php
![]()
hai ragione si tratta di un operatore bit "and" in pratica si potrebbe leggere così:
se mi sono sbagliato, correggetemi :-)Codice PHP:
$length = ord($payload[1]) & 127;
// 127 = 01111111 in binario
$length = ord($payload[1]) & 01111111;
// se per es. ord($payload[1]) = 0101101
$length = 00101101 & 01111111;
$length = 00101101;
// risultato
$lenght = 4;
ottimo!! Che figura!?!?!![]()
Piccola nota, questo metodo non è da confondere con il & per le referenze
es.
Codice PHP:
$a = 10;
$b = &$a;
echo $b;
$a = 20;
echo $b; //stamperà 20