2017-10-07 36 views
1

我有一個動態值$ input,表示ASCII中的一個字符。但不知何故,我無法正確打印出來。PHP中的回聲動態ascii字符串

$str= "\155\155"; 
echo 'value is '.$str; 

$input = 155; 
$num= "\\".$input."\\".$input; 
echo 'another value '.$num; 

第一行是「毫米」 但第二行是「\ 155 \ 155」 有一些轉變,我離開了?

回答

1

是的。 155是八進制值到m。

檢查出來:

$str= "\155\155"; 
echo 'value is '.$str; 

$input = 155; 
$num = octdec($input); 
$num = chr($num); 
echo ' another value from octal '.$num; 

$input = 109; 
$num = chr($input); 
echo ' another value from decimal '.$num; 

我不知道,如果你能做到這一點簡單。一個簡單的方法來達到你想要的東西可以是這樣的:

$input = 155; 
$num= "\\".$input."\\".$input; 
$num = str_replace("\\".$input, chr(octdec($input)), $num); 
echo 'another value '.$num; 
+0

我的歉意,我不清楚在我的問題。理想情況下,我不應該按照字符打印,我需要打印一個合成字符串。在這種情況下不可能嗎? – phantomhive

+0

檢查它編輯的片段。 –

+0

那麼..不理想..我們有一個函數,在字面上使用這種形式的輸入「\ 155 \ 155」,它使用普通的回聲。由於某些原因,我無法改變這一點。它是echo $ str;而$ str需要動態合成。 – phantomhive