Skip to content
This repository was archived by the owner on Jan 30, 2020. It is now read-only.

Commit 75b0bff

Browse files
committed
remove pass by reference for flattenCookies
1 parent 1b0ba2b commit 75b0bff

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

src/Header/Cookie.php

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -97,27 +97,26 @@ public function getFieldValue()
9797
{
9898
$nvPairs = [];
9999

100-
$cookies = [];
101-
$this->flattenCookies($cookies, $this);
102-
103-
foreach ($cookies as $name => $value) {
100+
foreach ($this->flattenCookies($this) as $name => $value) {
104101
$nvPairs[] = $name . '=' . (($this->encodeValue) ? urlencode($value) : $value);
105102
}
106103

107104
return implode('; ', $nvPairs);
108105
}
109106

110-
protected function flattenCookies(&$result, $data, $prefix = null)
107+
protected function flattenCookies($data, $prefix = null)
111108
{
112-
if (!is_array($data) && $this !== $data) {
113-
$result[$prefix] = $data;
114-
return;
115-
}
116-
109+
$result = [];
117110
foreach ($data as $key => $value) {
118111
$key = $prefix ? $prefix . '[' . $key . ']' : $key;
119-
$this->flattenCookies($result, $value, $key);
112+
if (is_array($value)) {
113+
$result = array_merge($result, $this->flattenCookies($value, $key));
114+
} else {
115+
$result[$key] = $value;
116+
}
120117
}
118+
119+
return $result;
121120
}
122121

123122
public function toString()

0 commit comments

Comments
 (0)