1
我有以下代碼:爲什麼我的PHP按位比較不能產生我期望的結果?
foreach(str_split('abcd') as $char) {
$total += ($char & 1);
}
echo $total;
它輸出0
。但是,我期望它輸出2
,因爲其ASCII碼二進制表示中的a
和c
是奇數(我相信97和99)。
看來,無論我傳遞給str_split
,我總是以0
結尾。這是爲什麼,我怎樣才能成功地計算字符串中的第一位設置的字節?
嗯,好吧,我想這是有道理的,謝謝。我認爲首先獲得整數值是多餘的,但事實並非如此。 我已經得到了它的工作,謝謝,儘管我使用'hexdec(bin2hex($ char))'而不是'ord($ char)',以允許多字節字符(我簡化了我的問題中的例子)。 – Alex 2013-03-13 15:48:24