summaryrefslogtreecommitdiff
path: root/ext/standard/tests/strings/strrchr_variation4.phpt
blob: 10f4ea5abad2584dc866916f1f9bdc5a4318dd7c (plain)
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
58
--TEST--
Test strrchr() function : usage variations - heredoc string containing special chars 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 special chars for haystack
 * and with various needles
*/

echo "*** Testing strrchr() function: with heredoc strings ***\n";
$special_chars_str = <<<EOD
Example of heredoc string contains
$#%^*&*_("_")!#@@!$#$^^&*(special)
chars.
EOD;

$heredoc_needle = <<<EOD
^^&*(
EOD;

$needles = array(
  "!@@!",
  '_',
  '("_")',
  "$*",
  "(special)",
  $heredoc_needle,  //needle as heredoc string
  $special_chars_str  //needle as haystack
);

//loop through to test strrchr() with each needle
foreach($needles as $needle) {
  var_dump( strrchr($special_chars_str, $needle) );
}
echo "*** Done ***";
?>
--EXPECTF--
*** Testing strrchr() function: with heredoc strings ***
string(24) "!$#$^^&*(special)
chars."
string(31) "_")!#@@!$#$^^&*(special)
chars."
string(16) "(special)
chars."
string(21) "$^^&*(special)
chars."
string(16) "(special)
chars."
string(19) "^&*(special)
chars."
string(76) "Example of heredoc string contains
$#%^*&*_("_")!#@@!$#$^^&*(special)
chars."
*** Done ***