[英]PHP Pack function doesn't like string
在PHP中的pack()函數方面需要一些幫助。 這些文檔在我頭上。
我有以下代碼:
$arr_upc = array();
if ($user_pass_code !== '' )
{
$arr_upc = str_split($user_pass_code); // Split provided pass code into char array for building the command
}else{
$arr_upc = str_split('0000'); // Provide an invalid code by default
}
//$arr_upc[0], $arr_upc[1], $arr_upc[2], $arr_upc[3]
$num1 = '0x0' . $arr_upc[0];
$num2 = '0x0' . $arr_upc[1];
$num3 = '0x0' . $arr_upc[2];
$num4 = '0x0' . $arr_upc[3];
$cmd = pack("C*", 0x78, 0x08, 0x10, 0x00, 0x08, 0x01, 0x05, 0x00, 0x0E, 0x53);
//$cmd = pack("C*", 0x78, 0x08, 0x10, 0x00, $num1, $num2, $num3, $num4, 0x0E, 0x53); // WHAT I'D LIKE TO USE BUT NOT WORKING
當我這樣使用它時:$ cmd = pack(“ C *”,0x78,0x08,0x10,0x00,0x08,0x01,0x05,0x00,0x0E,0x53);
工作正常。
當我嘗試用字符串變量替換該列表中的某些項目時,它失敗:$ cmd = pack(“ C *”,0x78,0x08,0x10,0x00,$ num1,$ num2,$ num3,$ num4, 0x0E,0x53); //失敗
我猜測pack不喜歡它,或者我需要在將其輸入到函數中之前將其轉換為某種東西,但是現在我迷路了。
嘗試此更改:
$num1 = 0+'0x'.$arr_upc[0];
$num2 = 0+'0x'.$arr_upc[1];
$num3 = 0+'0x'.$arr_upc[2];
$num4 = 0+'0x'.$arr_upc[3];
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.