Exemples típics de superglobals en PHP:
$_SESSION
$_GET
$_POST
$_COOKIE
$_FILES
$_SERVER
$_REQUEST
$_ENV
$GLOBALS
Aquestes no existeixen com a tals en altres llenguatges com Python, JavaScript, Ruby o Java. Resum:
Però la idea de “sessions” és comuna a molts llenguatges — simplement s’implementa diferent.
Sí, $_SESSION
és exclusiu de PHP.
$_SESSION['resposta']
no és una pila ni una cua
Ara mateix, la variable $_SESSION['resposta']
és simplement una cadena de text (string
), no una estructura de dades com una pila (stack
) o una cua (queue
). Això vol dir que quan tu fas:
$_SESSION['resposta'] .= $fila['catala'] . " - " . $fila['castella'] . "\n\n";
Només estàs afegint text al final d’una cadena, i no tens accés directe a la línia n com si fos un array o una estructura indexada.
Com podries accedir a una línia específica?
Si vols accedir, per exemple, a la línia 3 de la resposta, primer has de convertir la cadena en un array de línies amb explode("\n", ...)
, així:
$linies = explode("\n", $_SESSION['resposta']);
$linia3 = $linies[2]; // Recorda que comença a comptar des de 0
$_SESSION[‘exemple’] en principi no implica un array, o text formatat sinó simplement una forma d’emmagatzemar dades al navegador.
Variable de sessió | Pot ser |
---|---|
string , int , bool , float | ✅ Senzill |
array | ✅ Molt comú |
object | ✅ Però amb precaució |
null | ✅ També possible |
resource | ❌ No es pot serialitzar (no serveix) |
Conversió de array → string
✅ Funció: implode()
$array = ['poma', 'plàtan', 'taronja'];
$string = implode(", ", $array);
echo $string; // Sortida: "poma, plàtan, taronja"
Conversió de string → array
✅ Funció: explode()
$string = "poma, plàtan, taronja";
$array = explode(", ", $string);
print_r($array);
// Sortida:
// Array ( [0] => poma [1] => plàtan [2] => taronja )