summaryrefslogtreecommitdiff
path: root/ext/standard/tests/strings/strpos.phpt
blob: 1c9045b76a4bf30fb30dfc6b7f4d24bea217f5a3 (plain)
ofshex dumpascii
0000 2d 2d 54 45 53 54 2d 2d 0a 54 65 73 74 20 73 74 72 70 6f 73 28 29 20 66 75 6e 63 74 69 6f 6e 0a --TEST--.Test.strpos().function.
0020 2d 2d 49 4e 49 2d 2d 0a 70 72 65 63 69 73 69 6f 6e 3d 31 34 0a 2d 2d 46 49 4c 45 2d 2d 0a 3c 3f --INI--.precision=14.--FILE--.<?
0040 70 68 70 0a 2f 2a 20 50 72 6f 74 6f 74 79 70 65 3a 20 69 6e 74 20 73 74 72 70 6f 73 20 28 20 73 php./*.Prototype:.int.strpos.(.s
0060 74 72 69 6e 67 20 24 68 61 79 73 74 61 63 6b 2c 20 6d 69 78 65 64 20 24 6e 65 65 64 6c 65 20 5b tring.$haystack,.mixed.$needle.[
0080 2c 20 69 6e 74 20 24 6f 66 66 73 65 74 5d 20 29 3b 0a 20 20 20 44 65 73 63 72 69 70 74 69 6f 6e ,.int.$offset].);....Description
00a0 3a 20 46 69 6e 64 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 :.Find.position.of.first.occurre
00c0 6e 63 65 20 6f 66 20 61 20 73 74 72 69 6e 67 0a 2a 2f 0a 0a 65 63 68 6f 20 22 2a 2a 2a 20 54 65 nce.of.a.string.*/..echo."***.Te
00e0 73 74 69 6e 67 20 62 61 73 69 63 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 6f 66 20 73 74 72 sting.basic.functionality.of.str
0100 70 6f 73 28 29 20 2a 2a 2a 5c 6e 22 3b 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 pos().***\n";.var_dump(.strpos("
0120 74 65 73 74 20 73 74 72 69 6e 67 22 2c 20 22 74 65 73 74 22 29 20 29 3b 0a 76 61 72 5f 64 75 6d test.string",."test").);.var_dum
0140 70 28 20 73 74 72 70 6f 73 28 22 74 65 73 74 20 73 74 72 69 6e 67 22 2c 20 22 73 74 72 69 6e 67 p(.strpos("test.string",."string
0160 22 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 74 65 73 74 20 73 74 72 ").);.var_dump(.strpos("test.str
0180 69 6e 67 22 2c 20 22 73 74 72 69 6e 22 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 ing",."strin").);.var_dump(.strp
01a0 6f 73 28 22 74 65 73 74 20 73 74 72 69 6e 67 22 2c 20 22 74 20 73 22 29 20 29 3b 0a 76 61 72 5f os("test.string",."t.s").);.var_
01c0 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 74 65 73 74 20 73 74 72 69 6e 67 22 2c 20 22 67 22 29 dump(.strpos("test.string",."g")
01e0 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 74 65 22 2e 63 68 72 28 30 29 .);.var_dump(.strpos("te".chr(0)
0200 2e 22 73 74 22 2c 20 63 68 72 28 30 29 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 ."st",.chr(0)).);.var_dump(.strp
0220 6f 73 28 22 74 45 73 74 22 2c 20 22 74 65 73 74 22 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 20 os("tEst",."test").);.var_dump(.
0240 73 74 72 70 6f 73 28 22 74 65 53 74 22 2c 20 22 74 65 73 74 22 29 20 29 3b 0a 76 61 72 5f 64 75 strpos("teSt",."test").);.var_du
0260 6d 70 28 20 73 74 72 70 6f 73 28 22 22 2c 20 22 22 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 20 mp(.strpos("",."").);.var_dump(.
0280 73 74 72 70 6f 73 28 22 61 22 2c 20 22 22 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 strpos("a",."").);.var_dump(.str
02a0 70 6f 73 28 22 22 2c 20 22 61 22 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 pos("",."a").);.var_dump(.strpos
02c0 28 22 5c 5c 5c 5c 61 22 2c 20 22 5c 5c 61 22 29 20 29 3b 0a 0a 0a 65 63 68 6f 20 22 5c 6e 2a 2a ("\\\\a",."\\a").);...echo."\n**
02e0 2a 20 54 65 73 74 69 6e 67 20 73 74 72 70 6f 73 28 29 20 74 6f 20 66 69 6e 64 20 76 61 72 69 6f *.Testing.strpos().to.find.vario
0300 75 73 20 6e 65 65 64 6c 65 73 20 61 6e 64 20 61 20 6c 6f 6e 67 20 73 74 72 69 6e 67 20 2a 2a 2a us.needles.and.a.long.string.***
0320 5c 6e 22 3b 0a 24 73 74 72 69 6e 67 20 3d 0a 22 48 65 6c 6c 6f 20 77 6f 72 6c 64 2c 30 31 32 30 \n";.$string.=."Hello.world,0120
0340 33 33 20 2d 33 2e 33 34 34 35 20 20 20 20 20 4e 55 4c 4c 20 54 52 55 45 20 46 41 4c 53 45 5c 30 33.-3.3445.....NULL.TRUE.FALSE\0
0360 20 61 62 63 64 5c 78 78 79 7a 20 5c 78 30 30 30 20 6f 63 74 61 6c 5c 6e 0a 61 62 63 64 24 3a 48 .abcd\xxyz.\x000.octal\n.abcd$:H
0380 65 6c 6c 6f 20 77 6f 72 6c 64 22 3b 0a 0a 2f 2a 20 6e 65 65 64 6c 65 73 20 69 6e 20 61 6e 20 61 ello.world";../*.needles.in.an.a
03a0 72 72 61 79 20 74 6f 20 67 65 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 6e 65 65 64 rray.to.get.the.position.of.need
03c0 6c 65 20 69 6e 20 24 73 74 72 69 6e 67 20 2a 2f 0a 24 6e 65 65 64 6c 65 73 20 3d 20 61 72 72 61 le.in.$string.*/.$needles.=.arra
03e0 79 28 0a 20 20 22 48 65 6c 6c 6f 20 77 6f 72 6c 64 22 2c 0a 20 20 22 57 4f 52 4c 44 22 2c 0a 20 y(..."Hello.world",..."WORLD",..
0400 20 22 5c 30 22 2c 0a 20 20 22 5c 78 30 30 22 2c 0a 20 20 22 5c 78 30 30 30 22 2c 0a 20 20 22 61 ."\0",..."\x00",..."\x000",..."a
0420 62 63 64 22 2c 0a 20 20 22 78 79 7a 22 2c 0a 20 20 22 6f 63 74 61 6c 22 2c 0a 20 20 22 2d 33 22 bcd",..."xyz",..."octal",..."-3"
0440 2c 0a 20 20 2d 33 2c 0a 20 20 22 2d 33 2e 33 34 34 22 2c 0a 20 20 2d 33 2e 33 34 34 2c 0a 20 20 ,...-3,..."-3.344",...-3.344,...
0460 4e 55 4c 4c 2c 0a 20 20 22 4e 55 4c 4c 22 2c 0a 20 20 22 30 22 2c 0a 20 20 30 2c 0a 20 20 54 52 NULL,..."NULL",..."0",...0,...TR
0480 55 45 2c 0a 20 20 22 54 52 55 45 22 2c 0a 20 20 22 31 22 2c 0a 20 20 31 2c 0a 20 20 46 41 4c 53 UE,..."TRUE",..."1",...1,...FALS
04a0 45 2c 0a 20 20 22 46 41 4c 53 45 22 2c 0a 20 20 22 20 22 2c 0a 20 20 22 20 20 20 20 20 22 2c 0a E,..."FALSE",...".",...".....",.
04c0 20 20 27 62 27 2c 0a 20 20 27 5c 6e 27 2c 0a 20 20 22 5c 6e 22 2c 0a 20 20 22 31 32 22 2c 0a 20 ..'b',...'\n',..."\n",..."12",..
04e0 20 22 31 32 74 77 65 6c 76 65 22 2c 0a 20 20 24 73 74 72 69 6e 67 0a 29 3b 0a 0a 2f 2a 20 6c 6f ."12twelve",...$string.);../*.lo
0500 6f 70 20 74 68 72 6f 75 67 68 20 74 6f 20 67 65 74 20 74 68 65 20 22 6e 65 65 64 6c 65 22 20 70 op.through.to.get.the."needle".p
0520 6f 73 69 74 69 6f 6e 20 69 6e 20 24 73 74 72 69 6e 67 20 2a 2f 0a 66 6f 72 28 20 24 69 20 3d 20 osition.in.$string.*/.for(.$i.=.
0540 30 3b 20 24 69 20 3c 20 63 6f 75 6e 74 28 24 6e 65 65 64 6c 65 73 29 3b 20 24 69 2b 2b 20 29 20 0;.$i.<.count($needles);.$i++.).
0560 7b 0a 20 20 65 63 68 6f 20 22 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 24 6e 65 65 64 6c 65 73 5b {...echo."Position.of.'$needles[
0580 24 69 5d 27 20 69 73 20 3d 3e 20 22 3b 0a 20 20 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 $i]'.is.=>.";...var_dump(.strpos
05a0 28 24 73 74 72 69 6e 67 2c 20 24 6e 65 65 64 6c 65 73 5b 24 69 5d 29 20 29 3b 0a 7d 0a 0a 0a 65 ($string,.$needles[$i]).);.}...e
05c0 63 68 6f 20 22 5c 6e 2a 2a 2a 20 54 65 73 74 69 6e 67 20 73 74 72 70 6f 73 28 29 20 77 69 74 68 cho."\n***.Testing.strpos().with
05e0 20 70 6f 73 73 69 62 6c 65 20 76 61 72 69 61 74 69 6f 6e 73 20 69 6e 20 6f 66 66 73 65 74 20 2a .possible.variations.in.offset.*
0600 2a 2a 5c 6e 22 3b 0a 24 6f 66 66 73 65 74 5f 76 61 6c 75 65 73 20 3d 20 61 72 72 61 79 20 28 0a **\n";.$offset_values.=.array.(.
0620 20 20 31 2c 20 20 2f 2f 20 6f 66 66 73 65 74 20 3d 20 31 0a 20 20 22 73 74 72 69 6e 67 22 2c 20 ..1,..//.offset.=.1..."string",.
0640 20 2f 2f 20 6f 66 66 73 65 74 20 61 73 20 73 74 72 69 6e 67 2c 20 63 6f 6e 76 65 72 74 73 20 74 .//.offset.as.string,.converts.t
0660 6f 20 7a 65 72 6f 0a 20 20 4e 55 4c 4c 2c 20 20 2f 2f 20 6f 66 66 73 65 74 20 61 73 20 73 74 72 o.zero...NULL,..//.offset.as.str
0680 69 6e 67 2c 20 63 6f 6e 76 65 72 74 73 20 74 6f 20 7a 65 72 6f 0a 20 20 22 22 2c 20 20 2f 2f 20 ing,.converts.to.zero..."",..//.
06a0 6f 66 66 73 65 74 20 61 73 20 73 74 72 69 6e 67 2c 20 63 6f 6e 76 65 72 74 73 20 74 6f 20 7a 65 offset.as.string,.converts.to.ze
06c0 72 6f 0a 20 20 22 31 32 73 74 72 69 6e 67 22 2c 20 20 2f 2f 20 6d 69 78 65 64 20 73 74 72 69 6e ro..."12string",..//.mixed.strin
06e0 67 20 77 69 74 68 20 69 6e 74 20 61 6e 64 20 63 68 61 72 73 0a 20 20 22 30 22 2c 0a 20 20 54 52 g.with.int.and.chars..."0",...TR
0700 55 45 2c 0a 20 20 4e 55 4c 4c 2c 0a 20 20 46 41 4c 53 45 2c 0a 20 20 22 73 74 72 69 6e 67 31 32 UE,...NULL,...FALSE,..."string12
0720 22 2c 0a 20 20 22 31 32 2e 33 73 74 72 69 6e 67 22 2c 20 20 2f 2f 20 6d 69 78 65 64 20 73 74 72 ",..."12.3string",..//.mixed.str
0740 69 6e 67 20 77 69 74 68 20 66 6c 6f 61 74 20 61 6e 64 20 63 68 61 72 73 0a 20 20 2d 31 30 2c 20 ing.with.float.and.chars...-10,.
0760 2f 2f 20 4e 6f 74 20 66 6f 75 6e 64 0a 20 20 2d 31 35 2c 20 2f 2f 20 46 6f 75 6e 64 0a 20 20 2d //.Not.found...-15,.//.Found...-
0780 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 2c 0a 29 3b 0a 0a 2f 2a 20 6c 6f 6f 70 20 74 68 72 strlen($string),.);../*.loop.thr
07a0 6f 75 67 68 20 74 6f 20 67 65 74 20 74 68 65 20 22 6e 65 65 64 6c 65 22 20 70 6f 73 69 74 69 6f ough.to.get.the."needle".positio
07c0 6e 20 69 6e 20 24 73 74 72 69 6e 67 20 2a 2f 0a 66 6f 72 28 20 24 69 20 3d 20 30 3b 20 24 69 20 n.in.$string.*/.for(.$i.=.0;.$i.
07e0 3c 20 63 6f 75 6e 74 28 20 24 6f 66 66 73 65 74 5f 76 61 6c 75 65 73 20 29 3b 20 24 69 2b 2b 20 <.count(.$offset_values.);.$i++.
0800 29 20 7b 0a 20 20 65 63 68 6f 20 22 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 ).{...echo."Position.of.'Hello'.
0820 77 69 74 68 20 6f 66 66 73 65 74 20 27 24 6f 66 66 73 65 74 5f 76 61 6c 75 65 73 5b 24 69 5d 27 with.offset.'$offset_values[$i]'
0840 20 69 73 20 3d 3e 20 22 3b 0a 20 20 74 72 79 20 7b 0a 20 20 20 20 76 61 72 5f 64 75 6d 70 28 20 .is.=>.";...try.{.....var_dump(.
0860 73 74 72 70 6f 73 28 24 73 74 72 69 6e 67 2c 20 22 48 65 6c 6c 6f 22 2c 20 24 6f 66 66 73 65 74 strpos($string,."Hello",.$offset
0880 5f 76 61 6c 75 65 73 5b 24 69 5d 29 20 29 3b 0a 20 20 7d 20 63 61 74 63 68 20 28 54 79 70 65 45 _values[$i]).);...}.catch.(TypeE
08a0 72 72 6f 72 20 24 65 29 20 7b 0a 20 20 20 20 65 63 68 6f 20 22 5c 6e 22 2c 20 24 65 2d 3e 67 65 rror.$e).{.....echo."\n",.$e->ge
08c0 74 4d 65 73 73 61 67 65 28 29 2c 20 22 5c 6e 22 3b 0a 20 20 7d 0a 7d 0a 0a 0a 65 63 68 6f 20 22 tMessage(),."\n";...}.}...echo."
08e0 5c 6e 2a 2a 2a 20 54 65 73 74 69 6e 67 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20 69 6e 70 75 \n***.Testing.miscellaneous.inpu
0900 74 20 64 61 74 61 20 2a 2a 2a 5c 6e 22 3b 0a 0a 65 63 68 6f 20 22 2d 2d 20 50 61 73 73 69 6e 67 t.data.***\n";..echo."--.Passing
0920 20 6f 62 6a 65 63 74 73 20 61 73 20 73 74 72 69 6e 67 20 61 6e 64 20 6e 65 65 64 6c 65 20 2d 2d .objects.as.string.and.needle.--
0940 5c 6e 22 3b 0a 2f 2a 20 77 65 20 67 65 74 20 22 52 65 63 6f 76 65 72 61 62 6c 65 20 66 61 74 61 \n";./*.we.get."Recoverable.fata
0960 6c 20 65 72 72 6f 72 3a 20 73 61 79 69 6e 67 20 4f 62 6a 65 63 74 20 6f 66 20 63 6c 61 73 73 20 l.error:.saying.Object.of.class.
0980 6e 65 65 64 6c 65 20 63 6f 75 6c 64 20 6e 6f 74 20 62 65 0a 20 63 6f 6e 76 65 72 74 65 64 20 74 needle.could.not.be..converted.t
09a0 6f 20 73 74 72 69 6e 67 22 20 62 79 20 64 65 66 61 75 6c 74 20 77 68 65 6e 20 61 6e 20 6f 62 6a o.string".by.default.when.an.obj
09c0 65 63 74 20 69 73 20 70 61 73 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 73 74 72 69 6e 67 3a ect.is.passed.instead.of.string:
09e0 0a 20 54 68 65 20 65 72 72 6f 72 20 63 61 6e 20 62 65 20 61 76 6f 69 64 65 64 20 62 79 20 63 68 ..The.error.can.be.avoided.by.ch
0a00 6f 6f 73 69 6e 67 20 74 68 65 20 5f 5f 74 6f 53 74 72 69 6e 67 20 6d 61 67 69 78 20 6d 65 74 68 oosing.the.__toString.magix.meth
0a20 6f 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 20 2a 2f 0a 0a 63 6c 61 73 73 20 53 74 72 69 6e 67 43 od.as.follows:.*/..class.StringC
0a40 61 70 61 62 6c 65 0a 7b 0a 20 20 66 75 6e 63 74 69 6f 6e 20 5f 5f 74 6f 53 74 72 69 6e 67 28 29 apable.{...function.__toString()
0a60 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 22 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 3b 0a 20 20 .{.....return."Hello,.world";...
0a80 7d 0a 7d 0a 24 6f 62 6a 5f 73 74 72 69 6e 67 20 3d 20 6e 65 77 20 53 74 72 69 6e 67 43 61 70 61 }.}.$obj_string.=.new.StringCapa
0aa0 62 6c 65 3b 0a 0a 63 6c 61 73 73 20 6e 65 65 64 6c 65 0a 7b 0a 20 20 66 75 6e 63 74 69 6f 6e 20 ble;..class.needle.{...function.
0ac0 5f 5f 74 6f 53 74 72 69 6e 67 28 29 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 20 22 77 6f 72 6c 64 __toString().{.....return."world
0ae0 22 3b 0a 20 20 7d 0a 7d 0a 24 6f 62 6a 5f 6e 65 65 64 6c 65 20 3d 20 6e 65 77 20 6e 65 65 64 6c ";...}.}.$obj_needle.=.new.needl
0b00 65 3b 0a 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 24 6f 62 6a 5f 73 74 72 69 6e e;..var_dump(.strpos("$obj_strin
0b20 67 22 2c 20 22 24 6f 62 6a 5f 6e 65 65 64 6c 65 22 29 20 29 3b 0a 0a 65 63 68 6f 20 22 5c 6e 2d g",."$obj_needle").);..echo."\n-
0b40 2d 20 50 6f 73 69 69 62 69 6c 69 74 69 65 73 20 77 69 74 68 20 6e 75 6c 6c 20 2d 2d 5c 6e 22 3b -.Posiibilities.with.null.--\n";
0b60 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 22 2c 20 4e 55 4c 4c 29 20 29 3b 0a 76 .var_dump(.strpos("",.NULL).);.v
0b80 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 4e 55 4c 4c 2c 20 4e 55 4c 4c 29 20 29 3b 0a 76 ar_dump(.strpos(NULL,.NULL).);.v
0ba0 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 61 22 2c 20 4e 55 4c 4c 29 20 29 3b 0a 76 61 ar_dump(.strpos("a",.NULL).);.va
0bc0 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 2f 78 30 22 2c 20 22 30 22 29 20 29 3b 09 20 2f r_dump(.strpos("/x0",."0").);../
0be0 2f 20 48 65 78 61 64 65 63 69 6d 61 6c 20 4e 55 4c 0a 0a 65 63 68 6f 20 22 5c 6e 2d 2d 20 41 20 /.Hexadecimal.NUL..echo."\n--.A.
0c00 6c 6f 6e 67 65 72 20 61 6e 64 20 68 65 72 65 64 6f 63 20 73 74 72 69 6e 67 20 2d 2d 5c 6e 22 3b longer.and.heredoc.string.--\n";
0c20 0a 24 73 74 72 69 6e 67 20 3d 20 3c 3c 3c 45 4f 44 0a 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e .$string.=.<<<EOD.abcdefghijklmn
0c40 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 67 68 69 6a opqrstuvwxyz0123456789abcdefghij
0c60 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 0a 61 62 63 64 65 klmnopqrstuvwxyz0123456789.abcde
0c80 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 61 fghijklmnopqrstuvwxyz0123456789a
0ca0 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 bcdefghijklmnopqrstuvwxyz0123456
0cc0 37 38 39 0a 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 789.abcdefghijklmnopqrstuvwxyz01
0ce0 32 33 34 35 36 37 38 39 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 23456789abcdefghijklmnopqrstuvwx
0d00 79 7a 30 31 32 33 34 35 36 37 38 39 0a 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 yz0123456789.abcdefghijklmnopqrs
0d20 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f tuvwxyz0123456789abcdefghijklmno
0d40 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 0a 61 62 63 64 65 66 67 68 69 6a pqrstuvwxyz0123456789.abcdefghij
0d60 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 klmnopqrstuvwxyz0123456789abcdef
0d80 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 0a 61 ghijklmnopqrstuvwxyz0123456789.a
0da0 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 bcdefghijklmnopqrstuvwxyz0123456
0dc0 37 38 39 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 789abcdefghijklmnopqrstuvwxyz012
0de0 33 34 35 36 37 38 39 0a 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 3456789.abcdefghijklmnopqrstuvwx
0e00 79 7a 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 yz0123456789abcdefghijklmnopqrst
0e20 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 0a 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f uvwxyz0123456789.abcdefghijklmno
0e40 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 61 62 63 64 65 66 67 68 69 6a 6b pqrstuvwxyz0123456789abcdefghijk
0e60 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 0a 61 62 63 64 65 66 lmnopqrstuvwxyz0123456789.abcdef
0e80 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 38 39 61 62 ghijklmnopqrstuvwxyz0123456789ab
0ea0 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 33 34 35 36 37 cdefghijklmnopqrstuvwxyz01234567
0ec0 38 39 0a 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 7a 30 31 32 89.abcdefghijklmnopqrstuvwxyz012
0ee0 33 34 35 36 37 38 39 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 71 72 73 74 75 76 77 78 79 3456789abcdefghijklmnopqrstuvwxy
0f00 7a 30 31 32 33 34 35 36 37 38 39 0a 45 4f 44 3b 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f z0123456789.EOD;.var_dump(.strpo
0f20 73 28 24 73 74 72 69 6e 67 2c 20 22 61 62 63 64 22 29 20 29 3b 0a 76 61 72 5f 64 75 6d 70 28 20 s($string,."abcd").);.var_dump(.
0f40 73 74 72 70 6f 73 28 24 73 74 72 69 6e 67 2c 20 22 61 62 63 64 22 2c 20 37 32 29 20 29 3b 20 20 strpos($string,."abcd",.72).);..
0f60 2f 2f 20 37 32 20 2d 3e 20 22 5c 6e 22 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 6c 69 6e 65 0a //.72.->."\n".in.the.first.line.
0f80 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 24 73 74 72 69 6e 67 2c 20 22 61 62 63 64 22 var_dump(.strpos($string,."abcd"
0fa0 2c 20 37 33 29 20 29 3b 20 20 2f 2f 20 37 33 20 2d 3e 20 22 61 62 63 64 22 20 69 6e 20 74 68 65 ,.73).);..//.73.->."abcd".in.the
0fc0 20 73 65 63 6f 6e 64 20 6c 69 6e 65 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 24 73 .second.line.var_dump(.strpos($s
0fe0 74 72 69 6e 67 2c 20 22 39 22 2c 20 28 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 2d 31 29 29 tring,."9",.(strlen($string)-1))
1000 20 29 3b 0a 0a 65 63 68 6f 20 22 5c 6e 2d 2d 20 41 20 68 65 72 65 64 6f 63 20 6e 75 6c 6c 20 73 .);..echo."\n--.A.heredoc.null.s
1020 74 72 69 6e 67 20 2d 2d 5c 6e 22 3b 0a 24 73 74 72 20 3d 20 3c 3c 3c 45 4f 44 0a 45 4f 44 3b 0a tring.--\n";.$str.=.<<<EOD.EOD;.
1040 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 24 73 74 72 2c 20 22 5c 30 22 29 20 29 3b 0a var_dump(.strpos($str,."\0").);.
1060 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 24 73 74 72 2c 20 4e 55 4c 4c 29 20 29 3b 0a var_dump(.strpos($str,.NULL).);.
1080 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 24 73 74 72 2c 20 22 30 22 29 20 29 3b 0a 0a var_dump(.strpos($str,."0").);..
10a0 0a 65 63 68 6f 20 22 5c 6e 2d 2d 20 73 69 6d 70 6c 65 20 61 6e 64 20 63 6f 6d 70 6c 65 78 20 73 .echo."\n--.simple.and.complex.s
10c0 79 6e 74 61 78 20 73 74 72 69 6e 67 73 20 2d 2d 5c 6e 22 3b 0a 24 6e 65 65 64 6c 65 20 3d 20 27 yntax.strings.--\n";.$needle.=.'
10e0 77 6f 72 6c 64 27 3b 0a 0a 2f 2a 20 53 69 6d 70 6c 65 20 73 79 6e 74 61 78 20 2a 2f 0a 76 61 72 world';../*.Simple.syntax.*/.var
1100 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 22 2c 20 22 24 _dump(.strpos("Hello,.world",."$
1120 6e 65 65 64 6c 65 22 29 20 29 3b 20 20 2f 2f 20 77 6f 72 6b 73 0a 76 61 72 5f 64 75 6d 70 28 20 needle").);..//.works.var_dump(.
1140 73 74 72 70 6f 73 28 22 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 27 53 22 2c 20 22 24 6e 65 65 64 6c strpos("Hello,.world'S",."$needl
1160 65 27 53 22 29 20 29 3b 20 20 2f 2f 20 77 6f 72 6b 73 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 e'S").);..//.works.var_dump(.str
1180 70 6f 73 28 22 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 53 22 2c 20 22 24 6e 65 65 64 6c 65 53 22 29 pos("Hello,.worldS",."$needleS")
11a0 20 29 3b 20 20 2f 2f 20 77 6f 6e 27 74 20 77 6f 72 6b 0a 0a 2f 2a 20 53 74 72 69 6e 67 20 77 69 .);..//.won't.work../*.String.wi
11c0 74 68 20 63 75 72 6c 79 20 62 72 61 63 65 73 2c 20 63 6f 6d 70 6c 65 78 20 73 79 6e 74 61 78 20 th.curly.braces,.complex.syntax.
11e0 2a 2f 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 48 65 6c 6c 6f 2c 20 77 6f 72 6c */.var_dump(.strpos("Hello,.worl
1200 64 53 22 2c 20 22 24 7b 6e 65 65 64 6c 65 7d 53 22 29 20 29 3b 20 20 2f 2f 20 77 6f 72 6b 73 0a dS",."${needle}S").);..//.works.
1220 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 22 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 53 22 var_dump(.strpos("Hello,.worldS"
1240 2c 20 22 7b 24 6e 65 65 64 6c 65 7d 53 22 29 20 29 3b 20 20 2f 2f 20 77 6f 72 6b 73 0a 0a 65 63 ,."{$needle}S").);..//.works..ec
1260 68 6f 20 22 5c 6e 2a 2a 2a 20 54 65 73 74 69 6e 67 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f ho."\n***.Testing.error.conditio
1280 6e 73 20 2a 2a 2a 5c 6e 22 3b 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 24 73 74 72 ns.***\n";.var_dump(.strpos($str
12a0 69 6e 67 2c 20 22 22 29 20 29 3b 0a 74 72 79 20 7b 0a 20 20 20 20 73 74 72 70 6f 73 28 24 73 74 ing,."").);.try.{.....strpos($st
12c0 72 69 6e 67 2c 20 22 74 65 73 74 22 2c 20 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 2b 31 29 ring,."test",.strlen($string)+1)
12e0 3b 20 20 2f 2f 20 6f 66 66 73 65 74 20 3e 20 73 74 72 6c 65 6e 28 29 0a 7d 20 63 61 74 63 68 20 ;..//.offset.>.strlen().}.catch.
1300 28 56 61 6c 75 65 45 72 72 6f 72 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 65 63 (ValueError.$exception).{.....ec
1320 68 6f 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 22 5c ho.$exception->getMessage()..."\
1340 6e 22 3b 0a 7d 0a 0a 74 72 79 20 7b 0a 20 20 20 20 73 74 72 70 6f 73 28 24 73 74 72 69 6e 67 2c n";.}..try.{.....strpos($string,
1360 20 22 74 65 73 74 22 2c 20 2d 73 74 72 6c 65 6e 28 24 73 74 72 69 6e 67 29 2d 31 29 3b 20 20 2f ."test",.-strlen($string)-1);../
1380 2f 20 6f 66 66 73 65 74 20 62 65 66 6f 72 65 20 73 74 61 72 74 0a 7d 20 63 61 74 63 68 20 28 56 /.offset.before.start.}.catch.(V
13a0 61 6c 75 65 45 72 72 6f 72 20 24 65 78 63 65 70 74 69 6f 6e 29 20 7b 0a 20 20 20 20 65 63 68 6f alueError.$exception).{.....echo
13c0 20 24 65 78 63 65 70 74 69 6f 6e 2d 3e 67 65 74 4d 65 73 73 61 67 65 28 29 20 2e 20 22 5c 6e 22 .$exception->getMessage()..."\n"
13e0 3b 0a 7d 0a 0a 76 61 72 5f 64 75 6d 70 28 20 73 74 72 70 6f 73 28 4e 55 4c 4c 2c 20 22 22 29 20 ;.}..var_dump(.strpos(NULL,."").
1400 29 3b 0a 0a 3f 3e 0a 0a 44 4f 4e 45 0a 2d 2d 45 58 50 45 43 54 46 2d 2d 0a 2a 2a 2a 20 54 65 73 );..?>..DONE.--EXPECTF--.***.Tes
1420 74 69 6e 67 20 62 61 73 69 63 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 6f 66 20 73 74 72 70 ting.basic.functionality.of.strp
1440 6f 73 28 29 20 2a 2a 2a 0a 69 6e 74 28 30 29 0a 69 6e 74 28 35 29 0a 69 6e 74 28 35 29 0a 69 6e os().***.int(0).int(5).int(5).in
1460 74 28 33 29 0a 69 6e 74 28 31 30 29 0a 69 6e 74 28 32 29 0a 62 6f 6f 6c 28 66 61 6c 73 65 29 0a t(3).int(10).int(2).bool(false).
1480 62 6f 6f 6c 28 66 61 6c 73 65 29 0a 69 6e 74 28 30 29 0a 69 6e 74 28 30 29 0a 62 6f 6f 6c 28 66 bool(false).int(0).int(0).bool(f
14a0 61 6c 73 65 29 0a 69 6e 74 28 31 29 0a 0a 2a 2a 2a 20 54 65 73 74 69 6e 67 20 73 74 72 70 6f 73 alse).int(1)..***.Testing.strpos
14c0 28 29 20 74 6f 20 66 69 6e 64 20 76 61 72 69 6f 75 73 20 6e 65 65 64 6c 65 73 20 61 6e 64 20 61 ().to.find.various.needles.and.a
14e0 20 6c 6f 6e 67 20 73 74 72 69 6e 67 20 2a 2a 2a 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 48 65 .long.string.***.Position.of.'He
1500 6c 6c 6f 20 77 6f 72 6c 64 27 20 69 73 20 3d 3e 20 69 6e 74 28 30 29 0a 50 6f 73 69 74 69 6f 6e llo.world'.is.=>.int(0).Position
1520 20 6f 66 20 27 57 4f 52 4c 44 27 20 69 73 20 3d 3e 20 62 6f 6f 6c 28 66 61 6c 73 65 29 0a 50 6f .of.'WORLD'.is.=>.bool(false).Po
1540 73 69 74 69 6f 6e 20 6f 66 20 27 00 27 20 69 73 20 3d 3e 20 69 6e 74 28 34 36 29 0a 50 6f 73 69 sition.of.'.'.is.=>.int(46).Posi
1560 74 69 6f 6e 20 6f 66 20 27 00 27 20 69 73 20 3d 3e 20 69 6e 74 28 34 36 29 0a 50 6f 73 69 74 69 tion.of.'.'.is.=>.int(46).Positi
1580 6f 6e 20 6f 66 20 27 00 30 27 20 69 73 20 3d 3e 20 69 6e 74 28 35 38 29 0a 50 6f 73 69 74 69 6f on.of.'.0'.is.=>.int(58).Positio
15a0 6e 20 6f 66 20 27 61 62 63 64 27 20 69 73 20 3d 3e 20 69 6e 74 28 34 38 29 0a 50 6f 73 69 74 69 n.of.'abcd'.is.=>.int(48).Positi
15c0 6f 6e 20 6f 66 20 27 78 79 7a 27 20 69 73 20 3d 3e 20 69 6e 74 28 35 34 29 0a 50 6f 73 69 74 69 on.of.'xyz'.is.=>.int(54).Positi
15e0 6f 6e 20 6f 66 20 27 6f 63 74 61 6c 27 20 69 73 20 3d 3e 20 69 6e 74 28 36 31 29 0a 50 6f 73 69 on.of.'octal'.is.=>.int(61).Posi
1600 74 69 6f 6e 20 6f 66 20 27 2d 33 27 20 69 73 20 3d 3e 20 69 6e 74 28 31 39 29 0a 50 6f 73 69 74 tion.of.'-3'.is.=>.int(19).Posit
1620 69 6f 6e 20 6f 66 20 27 2d 33 27 20 69 73 20 3d 3e 20 69 6e 74 28 31 39 29 0a 50 6f 73 69 74 69 ion.of.'-3'.is.=>.int(19).Positi
1640 6f 6e 20 6f 66 20 27 2d 33 2e 33 34 34 27 20 69 73 20 3d 3e 20 69 6e 74 28 31 39 29 0a 50 6f 73 on.of.'-3.344'.is.=>.int(19).Pos
1660 69 74 69 6f 6e 20 6f 66 20 27 2d 33 2e 33 34 34 27 20 69 73 20 3d 3e 20 69 6e 74 28 31 39 29 0a ition.of.'-3.344'.is.=>.int(19).
1680 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 27 20 69 73 20 3d 3e 20 69 6e 74 28 30 29 0a 50 6f 73 69 Position.of.''.is.=>.int(0).Posi
16a0 74 69 6f 6e 20 6f 66 20 27 4e 55 4c 4c 27 20 69 73 20 3d 3e 20 69 6e 74 28 33 31 29 0a 50 6f 73 tion.of.'NULL'.is.=>.int(31).Pos
16c0 69 74 69 6f 6e 20 6f 66 20 27 30 27 20 69 73 20 3d 3e 20 69 6e 74 28 31 32 29 0a 50 6f 73 69 74 ition.of.'0'.is.=>.int(12).Posit
16e0 69 6f 6e 20 6f 66 20 27 30 27 20 69 73 20 3d 3e 20 69 6e 74 28 31 32 29 0a 50 6f 73 69 74 69 6f ion.of.'0'.is.=>.int(12).Positio
1700 6e 20 6f 66 20 27 31 27 20 69 73 20 3d 3e 20 69 6e 74 28 31 33 29 0a 50 6f 73 69 74 69 6f 6e 20 n.of.'1'.is.=>.int(13).Position.
1720 6f 66 20 27 54 52 55 45 27 20 69 73 20 3d 3e 20 69 6e 74 28 33 36 29 0a 50 6f 73 69 74 69 6f 6e of.'TRUE'.is.=>.int(36).Position
1740 20 6f 66 20 27 31 27 20 69 73 20 3d 3e 20 69 6e 74 28 31 33 29 0a 50 6f 73 69 74 69 6f 6e 20 6f .of.'1'.is.=>.int(13).Position.o
1760 66 20 27 31 27 20 69 73 20 3d 3e 20 69 6e 74 28 31 33 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 f.'1'.is.=>.int(13).Position.of.
1780 27 27 20 69 73 20 3d 3e 20 69 6e 74 28 30 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 46 41 4c ''.is.=>.int(0).Position.of.'FAL
17a0 53 45 27 20 69 73 20 3d 3e 20 69 6e 74 28 34 31 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 20 SE'.is.=>.int(41).Position.of.'.
17c0 27 20 69 73 20 3d 3e 20 69 6e 74 28 35 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 20 20 20 20 '.is.=>.int(5).Position.of.'....
17e0 20 27 20 69 73 20 3d 3e 20 69 6e 74 28 32 36 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 62 27 .'.is.=>.int(26).Position.of.'b'
1800 20 69 73 20 3d 3e 20 69 6e 74 28 34 39 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 5c 6e 27 20 .is.=>.int(49).Position.of.'\n'.
1820 69 73 20 3d 3e 20 62 6f 6f 6c 28 66 61 6c 73 65 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 0a is.=>.bool(false).Position.of.'.
1840 27 20 69 73 20 3d 3e 20 69 6e 74 28 36 36 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 31 32 27 '.is.=>.int(66).Position.of.'12'
1860 20 69 73 20 3d 3e 20 69 6e 74 28 31 33 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 31 32 74 77 .is.=>.int(13).Position.of.'12tw
1880 65 6c 76 65 27 20 69 73 20 3d 3e 20 62 6f 6f 6c 28 66 61 6c 73 65 29 0a 50 6f 73 69 74 69 6f 6e elve'.is.=>.bool(false).Position
18a0 20 6f 66 20 27 48 65 6c 6c 6f 20 77 6f 72 6c 64 2c 30 31 32 30 33 33 20 2d 33 2e 33 34 34 35 20 .of.'Hello.world,012033.-3.3445.
18c0 20 20 20 20 4e 55 4c 4c 20 54 52 55 45 20 46 41 4c 53 45 00 20 61 62 63 64 5c 78 78 79 7a 20 00 ....NULL.TRUE.FALSE..abcd\xxyz..
18e0 30 20 6f 63 74 61 6c 0a 0a 61 62 63 64 24 3a 48 65 6c 6c 6f 20 77 6f 72 6c 64 27 20 69 73 20 3d 0.octal..abcd$:Hello.world'.is.=
1900 3e 20 69 6e 74 28 30 29 0a 0a 2a 2a 2a 20 54 65 73 74 69 6e 67 20 73 74 72 70 6f 73 28 29 20 77 >.int(0)..***.Testing.strpos().w
1920 69 74 68 20 70 6f 73 73 69 62 6c 65 20 76 61 72 69 61 74 69 6f 6e 73 20 69 6e 20 6f 66 66 73 65 ith.possible.variations.in.offse
1940 74 20 2a 2a 2a 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 20 6f t.***.Position.of.'Hello'.with.o
1960 66 66 73 65 74 20 27 31 27 20 69 73 20 3d 3e 20 69 6e 74 28 37 34 29 0a 50 6f 73 69 74 69 6f 6e ffset.'1'.is.=>.int(74).Position
1980 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 20 6f 66 66 73 65 74 20 27 73 74 72 69 6e 67 27 .of.'Hello'.with.offset.'string'
19a0 20 69 73 20 3d 3e 20 0a 73 74 72 70 6f 73 28 29 3a 20 41 72 67 75 6d 65 6e 74 20 23 33 20 28 24 .is.=>..strpos():.Argument.#3.($
19c0 6f 66 66 73 65 74 29 20 6d 75 73 74 20 62 65 20 6f 66 20 74 79 70 65 20 69 6e 74 2c 20 73 74 72 offset).must.be.of.type.int,.str
19e0 69 6e 67 20 67 69 76 65 6e 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 ing.given.Position.of.'Hello'.wi
1a00 74 68 20 6f 66 66 73 65 74 20 27 27 20 69 73 20 3d 3e 20 69 6e 74 28 30 29 0a 50 6f 73 69 74 69 th.offset.''.is.=>.int(0).Positi
1a20 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 20 6f 66 66 73 65 74 20 27 27 20 69 73 20 on.of.'Hello'.with.offset.''.is.
1a40 3d 3e 20 0a 73 74 72 70 6f 73 28 29 3a 20 41 72 67 75 6d 65 6e 74 20 23 33 20 28 24 6f 66 66 73 =>..strpos():.Argument.#3.($offs
1a60 65 74 29 20 6d 75 73 74 20 62 65 20 6f 66 20 74 79 70 65 20 69 6e 74 2c 20 73 74 72 69 6e 67 20 et).must.be.of.type.int,.string.
1a80 67 69 76 65 6e 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 20 6f given.Position.of.'Hello'.with.o
1aa0 66 66 73 65 74 20 27 31 32 73 74 72 69 6e 67 27 20 69 73 20 3d 3e 20 0a 4e 6f 74 69 63 65 3a 20 ffset.'12string'.is.=>..Notice:.
1ac0 41 20 6e 6f 6e 20 77 65 6c 6c 20 66 6f 72 6d 65 64 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 A.non.well.formed.numeric.value.
1ae0 65 6e 63 6f 75 6e 74 65 72 65 64 20 69 6e 20 25 73 20 6f 6e 20 6c 69 6e 65 20 25 64 0a 69 6e 74 encountered.in.%s.on.line.%d.int
1b00 28 37 34 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 20 6f 66 (74).Position.of.'Hello'.with.of
1b20 66 73 65 74 20 27 30 27 20 69 73 20 3d 3e 20 69 6e 74 28 30 29 0a 50 6f 73 69 74 69 6f 6e 20 6f fset.'0'.is.=>.int(0).Position.o
1b40 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 20 6f 66 66 73 65 74 20 27 31 27 20 69 73 20 3d 3e 20 f.'Hello'.with.offset.'1'.is.=>.
1b60 69 6e 74 28 37 34 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 int(74).Position.of.'Hello'.with
1b80 20 6f 66 66 73 65 74 20 27 27 20 69 73 20 3d 3e 20 69 6e 74 28 30 29 0a 50 6f 73 69 74 69 6f 6e .offset.''.is.=>.int(0).Position
1ba0 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 20 6f 66 66 73 65 74 20 27 27 20 69 73 20 3d 3e .of.'Hello'.with.offset.''.is.=>
1bc0 20 69 6e 74 28 30 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 .int(0).Position.of.'Hello'.with
1be0 20 6f 66 66 73 65 74 20 27 73 74 72 69 6e 67 31 32 27 20 69 73 20 3d 3e 20 0a 73 74 72 70 6f 73 .offset.'string12'.is.=>..strpos
1c00 28 29 3a 20 41 72 67 75 6d 65 6e 74 20 23 33 20 28 24 6f 66 66 73 65 74 29 20 6d 75 73 74 20 62 ():.Argument.#3.($offset).must.b
1c20 65 20 6f 66 20 74 79 70 65 20 69 6e 74 2c 20 73 74 72 69 6e 67 20 67 69 76 65 6e 0a 50 6f 73 69 e.of.type.int,.string.given.Posi
1c40 74 69 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 20 6f 66 66 73 65 74 20 27 31 32 2e tion.of.'Hello'.with.offset.'12.
1c60 33 73 74 72 69 6e 67 27 20 69 73 20 3d 3e 20 0a 4e 6f 74 69 63 65 3a 20 41 20 6e 6f 6e 20 77 65 3string'.is.=>..Notice:.A.non.we
1c80 6c 6c 20 66 6f 72 6d 65 64 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 65 6e 63 6f 75 6e 74 65 ll.formed.numeric.value.encounte
1ca0 72 65 64 20 69 6e 20 25 73 20 6f 6e 20 6c 69 6e 65 20 25 64 0a 69 6e 74 28 37 34 29 0a 50 6f 73 red.in.%s.on.line.%d.int(74).Pos
1cc0 69 74 69 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 20 6f 66 66 73 65 74 20 27 2d 31 ition.of.'Hello'.with.offset.'-1
1ce0 30 27 20 69 73 20 3d 3e 20 62 6f 6f 6c 28 66 61 6c 73 65 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 0'.is.=>.bool(false).Position.of
1d00 20 27 48 65 6c 6c 6f 27 20 77 69 74 68 20 6f 66 66 73 65 74 20 27 2d 31 35 27 20 69 73 20 3d 3e .'Hello'.with.offset.'-15'.is.=>
1d20 20 69 6e 74 28 37 34 29 0a 50 6f 73 69 74 69 6f 6e 20 6f 66 20 27 48 65 6c 6c 6f 27 20 77 69 74 .int(74).Position.of.'Hello'.wit
1d40 68 20 6f 66 66 73 65 74 20 27 2d 38 35 27 20 69 73 20 3d 3e 20 69 6e 74 28 30 29 0a 0a 2a 2a 2a h.offset.'-85'.is.=>.int(0)..***
1d60 20 54 65 73 74 69 6e 67 20 6d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20 69 6e 70 75 74 20 64 61 74 .Testing.miscellaneous.input.dat
1d80 61 20 2a 2a 2a 0a 2d 2d 20 50 61 73 73 69 6e 67 20 6f 62 6a 65 63 74 73 20 61 73 20 73 74 72 69 a.***.--.Passing.objects.as.stri
1da0 6e 67 20 61 6e 64 20 6e 65 65 64 6c 65 20 2d 2d 0a 69 6e 74 28 37 29 0a 0a 2d 2d 20 50 6f 73 69 ng.and.needle.--.int(7)..--.Posi
1dc0 69 62 69 6c 69 74 69 65 73 20 77 69 74 68 20 6e 75 6c 6c 20 2d 2d 0a 69 6e 74 28 30 29 0a 69 6e ibilities.with.null.--.int(0).in
1de0 74 28 30 29 0a 69 6e 74 28 30 29 0a 69 6e 74 28 32 29 0a 0a 2d 2d 20 41 20 6c 6f 6e 67 65 72 20 t(0).int(0).int(2)..--.A.longer.
1e00 61 6e 64 20 68 65 72 65 64 6f 63 20 73 74 72 69 6e 67 20 2d 2d 0a 69 6e 74 28 30 29 0a 69 6e 74 and.heredoc.string.--.int(0).int
1e20 28 37 33 29 0a 69 6e 74 28 37 33 29 0a 69 6e 74 28 37 32 38 29 0a 0a 2d 2d 20 41 20 68 65 72 65 (73).int(73).int(728)..--.A.here
1e40 64 6f 63 20 6e 75 6c 6c 20 73 74 72 69 6e 67 20 2d 2d 0a 62 6f 6f 6c 28 66 61 6c 73 65 29 0a 69 doc.null.string.--.bool(false).i
1e60 6e 74 28 30 29 0a 62 6f 6f 6c 28 66 61 6c 73 65 29 0a 0a 2d 2d 20 73 69 6d 70 6c 65 20 61 6e 64 nt(0).bool(false)..--.simple.and
1e80 20 63 6f 6d 70 6c 65 78 20 73 79 6e 74 61 78 20 73 74 72 69 6e 67 73 20 2d 2d 0a 69 6e 74 28 37 .complex.syntax.strings.--.int(7
1ea0 29 0a 69 6e 74 28 37 29 0a 0a 57 61 72 6e 69 6e 67 3a 20 55 6e 64 65 66 69 6e 65 64 20 76 61 72 ).int(7)..Warning:.Undefined.var
1ec0 69 61 62 6c 65 20 24 6e 65 65 64 6c 65 53 20 69 6e 20 25 73 20 6f 6e 20 6c 69 6e 65 20 25 64 0a iable.$needleS.in.%s.on.line.%d.
1ee0 69 6e 74 28 30 29 0a 69 6e 74 28 37 29 0a 69 6e 74 28 37 29 0a 0a 2a 2a 2a 20 54 65 73 74 69 6e int(0).int(7).int(7)..***.Testin
1f00 67 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 20 2a 2a 2a 0a 69 6e 74 28 30 29 0a 73 74 g.error.conditions.***.int(0).st
1f20 72 70 6f 73 28 29 3a 20 41 72 67 75 6d 65 6e 74 20 23 33 20 28 24 6f 66 66 73 65 74 29 20 6d 75 rpos():.Argument.#3.($offset).mu
1f40 73 74 20 62 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 61 72 67 75 6d 65 6e 74 20 23 31 20 28 st.be.contained.in.argument.#1.(
1f60 24 68 61 79 73 74 61 63 6b 29 0a 73 74 72 70 6f 73 28 29 3a 20 41 72 67 75 6d 65 6e 74 20 23 33 $haystack).strpos():.Argument.#3
1f80 20 28 24 6f 66 66 73 65 74 29 20 6d 75 73 74 20 62 65 20 63 6f 6e 74 61 69 6e 65 64 20 69 6e 20 .($offset).must.be.contained.in.
1fa0 61 72 67 75 6d 65 6e 74 20 23 31 20 28 24 68 61 79 73 74 61 63 6b 29 0a 69 6e 74 28 30 29 0a 0a argument.#1.($haystack).int(0)..
1fc0 44 4f 4e 45 0a DONE.