-2

I am looking for a way to write a function in a script to show what differences there are between array values

Edit: added PHP code (and simplified...)

Array
(
    [0] => HTTP/1.1 200 OK
    [Content-Type] => text/html; charset=UTF-8
    [Connection] => close
    [X-Powered-By] => PHP/5.6.30
    [X-Content-Type-Options] => nosniff
    [Server] => nginx

)
Array
(
    [0] => HTTP/1.1 200 OK
    [Server] => Apache/2.4.27 (Amazon) OpenSSL/1.0.1k-fips PHP/5.6.30
    [X-Powered-By] => PHP/5.6.30
    [Content-Length] => 11
    [Connection] => close
    [Content-Type] => text/html; charset=UTF-8
)
JohnSnow
  • 163
  • 4
  • 16
  • 3
    Don't tag a bunch of languages and beg people to write code for you. Do try and solve it in *one* of those and post your effort. – tadman Aug 16 '17 at 21:22

1 Answers1

0

To get the headers in PHP use get_headers.

You can iterate over your first array, and use the key to compare it against the second array. This will show difference between first and second; to see differences in the second unset the values of the second in the first, then iterate over the second and everything present there wasnt present in the first.

foreach($ar1 as $key => $value) {
    if(empty($ar2[$key])) {
        $missing_keys[] = $key; 
    } elseif ($ar2[$key] != $value) {
        $non_matching_values[$key] = $value . '|<-deviation->|' . $ar2[$key];
    }
    unset($ar2[$key]);
}
foreach($ar2 as $key => $value) {
    $missing_keys[] = $key;
}
print_r($missing_keys);
print_r($non_matching_values);

Demo: https://3v4l.org/JV40E

chris85
  • 23,846
  • 7
  • 34
  • 51