Sto avendo alcuni problemi con pack() in PHPpack() in php. Illegal avvertimento esadecimale cifre
$currencypair = "EUR/USD";
$buy_sell = "buy";
$alert_device_token =array("a","a","b");
$message = "Your " . $currencypair . " " . $buy_sell . " alert price has been reached!";
$payload['aps'] = array (
'alert' => $message,
'badge' => 1,
'sound' => 'default'
);
$payload = json_encode($payload);
foreach ($alert_device_token as $alert_device)
{
$apnsMessage = chr(0) . chr(0) . chr(32) .
pack('H*', str_replace(' ', '', $alert_device)) .
chr(0) . chr(strlen($payload)) . $payload;
echo $apnsMessage;
}
Ora a volte ho seguenti avvisi che eseguono lo stesso codice -
Warning: pack() [function.pack]: Type H: illegal hex digit g in /code/FR2BVl
la cifra esadecimale illegale continua variando però. Qualche idea su questo avvertimento e sui modi per rimuoverlo.
controllare vivo here
Invia più codice. Il 'str_replace()' su '$ alert_device' mi fa pensare che ci sia più codice nel mezzo che potrebbe modificare il contenuto di' $ alert_device'. Con il codice pubblicato, non dovresti ottenere l'errore che stai ricevendo. –
@sander: vedere la domanda modificata. – ayush
Nel mio caso, ho ricevuto questo errore quando stavo cercando di passare un valore vuoto (o una barra /) alla funzione pack(). Ho scoperto cosa stava causando il valore vuoto e ho risolto il problema. – Volomike