diff options
Diffstat (limited to 'ext/standard/tests/strings/bug42107.phpt')
| -rw-r--r-- | ext/standard/tests/strings/bug42107.phpt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/bug42107.phpt b/ext/standard/tests/strings/bug42107.phpt new file mode 100644 index 000000000..d97f8917e --- /dev/null +++ b/ext/standard/tests/strings/bug42107.phpt @@ -0,0 +1,47 @@ +--TEST-- +Bug #42107 (sscanf() broken when using %2$s type format parameters) +--FILE-- +<?php + +var_dump(sscanf('one two', '%1$s %2$s')); +var_dump(sscanf('one two', '%2$s %1$s')); +echo "--\n"; +sscanf('one two', '%1$s %2$s', $foo, $bar); +var_dump($foo, $bar); +sscanf('one two', '%2$s %1$s', $foo, $bar); +var_dump($foo, $bar); +echo "--\n"; +var_dump(sscanf('one two', '%1$d %2$d')); +var_dump(sscanf('one two', '%1$d')); +echo "Done\n"; +?> +--EXPECTF-- +array(2) { + [0]=> + string(3) "one" + [1]=> + string(3) "two" +} +array(2) { + [0]=> + string(3) "two" + [1]=> + string(3) "one" +} +-- +string(3) "one" +string(3) "two" +string(3) "two" +string(3) "one" +-- +array(2) { + [0]=> + NULL + [1]=> + NULL +} +array(1) { + [0]=> + NULL +} +Done |
