PHP Judy数组大小/数量 - 不是它声称的那个?

时间:2012-01-23 15:07:55

标签: php arrays count size

鉴于两个Judy实例,两个实例中的任何一个上的非静态方法size()和count()如何返回似乎同一PHP进程中judy数组上所有元素的总和吗

这是故意的吗?在文档中似乎没有任何指示。我错过了什么? 见下面的单元测试。 testSizeConsistent()失败,其他通过,包括testIsSizeSum()

class JudyTest extends PHPUnit_Framework_TestCase {

    private $a, $b;

    public function setUp() {

        $this->a = new Judy(Judy::STRING_TO_MIXED);
        $this->b = new Judy(Judy::STRING_TO_MIXED);
    }

    public function testSizeConsistent() {

        // lets populate a 
        $this->a->offsetSet("foo", "bar");
        $this->a->offsetSet("another", "value");

        // b couldn't have possibly grown?
        $this->assertTrue($this->b->size() === 0);

    }

    public function testSizeZero() {

        $this->assertTrue($this->a->size() === 0);
        $this->assertTrue($this->b->size() === 0);

    }

    public function testIsSizeSum() {

        $this->a->offsetSet("foo", "bar");
        $this->a->offsetSet("another", "value");
        $this->b->offsetSet("third", "..");

        $this->assertTrue($this->b->size() === 3);

    }


}

(我正在使用pecl的最新“beta”稳定性Judy数组php模块(pecl.php.net/Judy-0.1.2)和macports中最新的libjudy(judy @ 1.0.5(devel))on OS X Lion)

谢谢! 安德拉斯

1 个答案:

答案 0 :(得分:1)

这绝对是个错误。修复程序已经发布,请试一试: