| 610 | | (if (php-< real-offset 0) |
| 611 | | (set! real-offset (php-+ a-size real-offset))) |
| 612 | | (if (php-< real-offset (php-- a-size 1)) |
| 613 | | (begin |
| 614 | | (cond ((eqv? length 'unset) (set! max-len (php-- a-size real-offset))) |
| 615 | | ((and (php-number? length) |
| 616 | | (php-< length 0)) (set! max-len (php-+ (php-- a-size real-offset) length))) |
| 617 | | ((and (php-number? length) |
| 618 | | (php->= length 0)) (set! max-len length))) |
| 619 | | (let ((i 0)) |
| 620 | | (php-hash-for-each safe-array |
| 621 | | (lambda (k v) |
| 622 | | (when (and (php->= i real-offset) |
| 623 | | (php-< cur-len max-len)) |
| 624 | | (set! cur-len (+ cur-len 1)) |
| 625 | | (php-hash-insert! new-array :next v)) |
| 626 | | (set! i (+ i 1)))))) |
| 627 | | #f) |
| 628 | | new-array) |
| 629 | | #f))) |
| | 612 | (cond ((eqv? length 'unset) (set! max-len (php-- a-size real-offset))) |
| | 613 | ((and (php-number? length) |
| | 614 | (php-< length 0)) (set! max-len (php-+ (php-- a-size real-offset) length))) |
| | 615 | ((and (php-number? length) |
| | 616 | (php->= length 0)) (set! max-len length))) |
| | 617 | (let ((i 0)) |
| | 618 | (php-hash-for-each safe-array |
| | 619 | (lambda (k v) |
| | 620 | (when (and (php->= i real-offset) |
| | 621 | (php-< cur-len max-len)) |
| | 622 | (set! cur-len (+ cur-len 1)) |
| | 623 | (php-hash-insert! new-array :next v)) |
| | 624 | (set! i (+ i 1))))))) |
| | 625 | new-array)) |