File: strrchr_variation5.phpt

package info (click to toggle)
php8.4 8.4.16-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 211,276 kB
  • sloc: ansic: 1,176,142; php: 35,419; sh: 11,964; cpp: 7,208; pascal: 4,951; javascript: 3,091; asm: 2,817; yacc: 2,411; makefile: 696; xml: 446; python: 301; awk: 148
file content (57 lines) | stat: -rw-r--r-- 1,082 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
--TEST--
Test strrchr() function : usage variations - heredoc string containing escape sequences for 'haystack'
--FILE--
<?php
/* Prototype  : string strrchr(string $haystack, string $needle);
 * Description: Finds the last occurrence of a character in a string.
 * Source code: ext/standard/string.c
*/

/* Test strrchr() function by passing heredoc string containing
 *  escape sequences for haystack and with various needles
*/

echo "*** Testing strrchr() function: with heredoc strings ***\n";
$escape_char_str = <<<EOD
\tes\t st\r\rch\r using
\escape \\seque\nce
EOD;

$needles = array(
  "\t",
  '\n',
  "\r",
  "\\",
  $escape_char_str //needle as haystack
);

//loop through to test strrchr() with each needle
foreach($needles as $needle) {
  var_dump( strrchr($escape_char_str, $needle) );
}

echo "*** Done ***";
?>
--EXPECT--
*** Testing strrchr() function: with heredoc strings ***
string(32) "	 st

ch
 using
scape \seque
ce"
string(9) "\seque
ce"
string(24) "
 using
scape \seque
ce"
string(9) "\seque
ce"
string(32) "	 st

ch
 using
scape \seque
ce"
*** Done ***