1--TEST--
2Test array_intersect_assoc() function : usage variations - binary safe checking
3--FILE--
4<?php
5/* Prototype  : array array_intersect_assoc(array $arr1, array $arr2 [, array $...])
6 * Description: Returns the entries of arr1 that have values which are present in all the other arguments.
7 * Keys are used to do more restrictive check
8 * Source code: ext/standard/array.c
9*/
10
11/*
12* Testing the behavior of array_intersect_assoc() by passing array with
13* binary values for $arr1 and $arr2 argument.
14*/
15
16echo "*** Testing array_intersect_assoc() : binary safe checking ***\n";
17
18// array with binary values
19$arr_binary = array(b"hello", b"world");
20// simple array
21$arr_normal = array("hello", "world");
22
23// array with binary value for $arr1 argument
24var_dump( array_intersect_assoc($arr_binary, $arr_normal) );
25
26// array with binary value for $arr2 argument
27var_dump( array_intersect_assoc($arr_normal, $arr_binary) );
28
29// array with binary value for both $arr1 and $arr2 argument
30var_dump( array_intersect_assoc($arr_binary, $arr_binary) );
31
32echo "Done";
33?>
34--EXPECTF--
35*** Testing array_intersect_assoc() : binary safe checking ***
36array(2) {
37  [0]=>
38  string(5) "hello"
39  [1]=>
40  string(5) "world"
41}
42array(2) {
43  [0]=>
44  string(5) "hello"
45  [1]=>
46  string(5) "world"
47}
48array(2) {
49  [0]=>
50  string(5) "hello"
51  [1]=>
52  string(5) "world"
53}
54Done