- pack: documentation ( source)
<?php
$arNotic["aps"] = array(
"alert"=>"hello",
"category"=>"test",
'sound' => 'default',
'badge' => 999
);
$sPayload = JSON_ENOCDE($arNotic);
$nPayloadLength = strlen($sPayload);
$sDeviceToken ='1e82db91c7ceddd72bf33d74ae052ac9c84a065b35148ac401388843106a7485';
$ret = pack('CNNnH*', 1, 1, 0, 32, $sDeviceToken);
$ret .= pack('n', $nPayloadLength);
$ret .= $sPayload;
echo $ret;