pack() in php. Illegal hex digit Warnung

ich habe einige Probleme mit pack() in php

$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;
}

Nun manchmal bekomme ich folgende Warnungen läuft die gleiche code -

Warning: pack() [function.pack]: Type H: illegal hex digit g in /code/FR2BVl

die illegal hex digit hält unterschiedliche wenn. Irgendwelche Ideen, über diese Warnung und Wege, um es zu entfernen.

überprüfen Sie es live hier

  • Poste mehr code. Die str_replace() auf $alert_device macht mich denken, dass es mehr code in der Mitte, könnte ändern den Inhalt $alert_device. Mit dem code wie geschrieben, Sie sollten nicht die Fehlermeldung, die Sie erhalten.
  • sehen Sie die bearbeitete Frage.
  • In meinem Fall erhielt ich diese Fehlermeldung, wenn ich versuchte, übergeben Sie einen leeren Wert (oder einen Schrägstrich /) auf der pack () - Funktion. Ich fand heraus, was die Folge hatte, dass die leeren Wert und behoben.
InformationsquelleAutor ayush | 2011-01-19
Schreibe einen Kommentar