2011-03-22 145 views
7

我想爆炸一个字符串看起来像是一个空字符。PHP爆炸空字符

这就是我使用的是:$exp = explode('\x00', $bin);

虽然这不起作用。但是,如果我做$exp = explode($bin[5], $bin);(其中的字符5是我想爆炸的这个字符),它工作正常。

如果我做var_dump($bin[5])这表明我见方的块,在其一个问号(),并在查看源代码,我得到:�

谁能告诉我什么是最好的办法是爆炸在这字符?或者即使它是空字符(根据ascii表,它是,除非我读了全部错误)。

感谢

回答

13

尝试双引号:

$exp = explode("\x00", $bin); 

另外,占领相当于ASCII字符代码和使用CHR传递。

$char = ord($bin[5]); 

// Replace this with the actual number returned from ord 
$exp = explode(chr($char), $bin); 

后一个例子消除了如果你还没有确定它可能实际上不是空字符的可能性。

+0

这是正确的。 “如果字符串用双引号(”)括起来,PHP会解释更多特殊字符的转义序列:....“ – Unicron 2011-03-22 09:48:17

+1

感谢双引号的工作,现在我该如何给你代表? -.- – 2011-03-22 09:48:18

+2

@你可以用复选标记 – Unicron 2011-03-22 09:48:40