It must be a simple question but would like to know, how I can write below for php 5.3 compatible?
$parts = explode(' ', $data['start-line'], 3);
$version = isset($parts[2]) ? explode('/', $parts[2])[1] : '1.1';
Like in second line I am getting unexpected [ error because of php 5.3 is not allowed to directly write lines like explode('/',$parts[2])[1] - as [1] is not allowed to write directly in php 5.3 so either I have to write like $exp = explode('/',$parts[2]); $exp[2] am I right?
Is it following right?
$parts = explode(' ', $data['start-line'], 3);
$exp = explode('/', $parts[2]);
$version = isset($parts[2]) ? $exp[1] : '1.1';
Second Issue Second line issue on the following code as well:
if (!is_array($result[$key])) {
$result[$key] = [$result[$key]];
How I can write $result[$key] = [$result[$key]] line compatible with php 5.3? As above line returning unexpected [ error as well.
Second Issue Whole code:
function parse_query($str, $urlEncoding = true)
{ $result = array();
if ($str === '') {
return $result;
}
if ($urlEncoding === true) {
$decoder = function ($value) {
return rawurldecode(str_replace('+', ' ', $value));
};
} elseif ($urlEncoding === PHP_QUERY_RFC3986) {
$decoder = 'rawurldecode';
} elseif ($urlEncoding === PHP_QUERY_RFC1738) {
$decoder = 'urldecode';
} else {
$decoder = function ($str) { return $str; };
}
foreach (explode('&', $str) as $kvp) {
$parts = explode('=', $kvp, 2);
$key = $decoder($parts[0]);
$value = isset($parts[1]) ? $decoder($parts[1]) : null;
if (!isset($result[$key])) {
$result[$key] = $value;
} else {
if (!is_array($result[$key])) {
$result[$key] = [$result[$key]];
}
$result[$key][] = $value;
}
}
return $result;
Thanks please explain to me how I can interpret this line of code.