[PHP-dev 1237] PHP 5.1.2 & PHP 4.4.2のunpack

okuyama@workgroup okuyama @ workgroup.jp
2006年 3月 31日 (金) 05:24:06 JST


おく@Workgroupです。

unpack関数の挙動が変わっているようなので、
投稿させていただきました。

どうも、引数で与える文字列に、null文字を
加えて評価してしまっているように見えるのですが、
皆さんの環境ではいかがでしょうか?

テストスクリプトは、以下のとおりです。
<?php
$str = "abcdefghijklmn";
$hex = unpack("H*", $str);
var_dump($hex);
?>

実行結果を各環境、4パターン用意しました。

debian dotdebパッケージ
PHP 5.1.2-1.dotdeb.2 (cli) (built: Jan 31 2006 01:31:38)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies

array(1) {
  [1]=>
  string(29) "6162636465666768696a6b6c6d6e0"
}

debian dotdebパッケージ
PHP 4.4.2-0.dotdeb.1 (cli) (built: Jan 13 2006 16:48:04)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

array(1) {
  [1]=>
  string(29) "6162636465666768696a6b6c6d6e0"
}

CentOS fromソース
PHP 5.1.1 (cli) (built: Nov 29 2005 10:42:15)
Copyright (c) 1997-2005 The PHP Group
Zend Engine v2.1.0, Copyright (c) 1998-2005 Zend Technologies
    with Zend Extension Manager v1.0.9, Copyright (c) 2003-2006, by Zend
Technologies
    with Zend Optimizer v2.6.2, Copyright (c) 1998-2006, by Zend
Technologies
    with Zend Debugger v5.1.0, Copyright (c) 1999-2006, by Zend Technologies

array(1) {
  [1]=>
  string(28) "6162636465666768696a6b6c6d6e"
}

CentOS fromソース
PHP 4.4.0 (cli) (built: Sep  2 2005 14:23:09)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies
    with Zend Extension Manager v1.0.9, Copyright (c) 2003-2006, by Zend
Technologies
    with Zend Optimizer v2.6.2, Copyright (c) 1998-2006, by Zend
Technologies
    with Zend Debugger v5.1.0, Copyright (c) 1999-2006, by Zend Technologies

array(1) {
  [1]=>
  string(28) "6162636465666768696a6b6c6d6e"
}



PHP-dev メーリングリストの案内