Tfe

Ongi etorri tfe-ren webgunera...

2025-06-22-ean

[PHP] puntu bat (.) esteka parametroaren izen batean

Imagina dezagun esteka hori: index.php?aldagaia.1=bat&aldagaia.2=bi
Suposatuko dugu, $_GET aldagaiaren barruan hori aurkituko dugu:

[
  "aldagaia.1"  => "bat",
  "aldagaia.2" => "bi"
]
 

Baina EZ!
Php-ri ezker (https://www.php.net/manual/en/language.variables.external.php#language.variables.external.dot-in-names)  puntuak azpimarraz ordezkatzen dira!

[
  "aldagaia1"  => "bat",
  "aldagaia_2" => "bi"
]
 

 

Momentuz, ez dago saihesteko konponbiderik, eta benetako parametroak bilatzeko funtzio bat sortu behar dugu:

    function realGET($data)
    {
        $data = preg_replace_callback('/(?:^|(?<=&))[^=[]+/', function($match) {
            return bin2hex(urldecode($match[0]));
        }, $data);
        parse_str($data, $values);
        return array_combine(array_map('hex2bin', array_keys($values)), $values);
    }

         $newGET = realGET($_SERVER['QUERY_STRING']);

Tags: Aholkuak