{"id":16132,"date":"2025-04-25T12:27:23","date_gmt":"2025-04-25T10:27:23","guid":{"rendered":"https:\/\/www.beseit.net\/?p=16132"},"modified":"2025-06-05T16:56:39","modified_gmt":"2025-06-05T14:56:39","slug":"les-superglobals-com-_session-son-exclusives-de-php","status":"publish","type":"post","link":"https:\/\/www.beseit.net\/?p=16132","title":{"rendered":"les superglobals com $_SESSION s\u00f3n exclusives de PHP"},"content":{"rendered":"\n<p>Exemples t\u00edpics de superglobals en PHP:<\/p>\n\n\n\n<p><code>$_SESSION<\/code><\/p>\n\n\n\n<p><code>$_GET<\/code><\/p>\n\n\n\n<p><code>$_POST<\/code><\/p>\n\n\n\n<p><code>$_COOKIE<\/code><\/p>\n\n\n\n<p><code>$_FILES<\/code><\/p>\n\n\n\n<p><code>$_SERVER<\/code><\/p>\n\n\n\n<p><code>$_REQUEST<\/code><\/p>\n\n\n\n<p><code>$_ENV<\/code><\/p>\n\n\n\n<p><code>$GLOBALS<\/code><\/p>\n\n\n\n<p>Aquestes <strong>no existeixen com a tals en altres llenguatges<\/strong> com Python, JavaScript, Ruby o Java. Resum:<\/p>\n\n\n\n<p>Per\u00f2 la <strong>idea de &#8220;sessions&#8221;<\/strong> \u00e9s comuna a molts llenguatges \u2014 simplement s\u2019implementa diferent.<\/p>\n\n\n\n<p><strong>S\u00ed, <code>$_SESSION<\/code> \u00e9s exclusiu de PHP<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\"><strong><code>$_SESSION['resposta']<\/code> no \u00e9s una pila ni una cua<\/strong><\/h1>\n\n\n\n<p>Ara mateix, la variable <code>$_SESSION['resposta']<\/code> <mark style=\"background-color:rgba(0, 0, 0, 0);color:#f10909\" class=\"has-inline-color\">\u00e9s simplement una <strong>cadena de text<\/strong> (<code>string<\/code>),<\/mark> no una estructura de dades com una pila (<code>stack<\/code>) o una cua (<code>queue<\/code>). Aix\u00f2 vol dir que quan tu fas:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$_SESSION&#91;'resposta'] .= $fila&#91;'catala'] . \" - \" . $fila&#91;'castella'] . \"\\n\\n\";\n<\/code><\/pre>\n\n\n\n<p>Nom\u00e9s est\u00e0s <strong>afegint text al final d&#8217;una cadena<\/strong>, i no tens acc\u00e9s directe a la l\u00ednia <em>n<\/em> com si fos un array o una estructura indexada.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Com podries accedir a una l\u00ednia espec\u00edfica?<\/strong><\/h3>\n\n\n\n<p>Si vols accedir, per exemple, a la <strong>l\u00ednia 3<\/strong> de la resposta, primer has de convertir la cadena en un array de l\u00ednies amb <code>explode(\"\\n\", ...)<\/code>, aix\u00ed:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$linies = explode(<mark style=\"background-color:rgba(0, 0, 0, 0);color:#fa1010\" class=\"has-inline-color\">\"\\n\"<\/mark>, $_SESSION&#91;'resposta']);\n$linia3 = $linies&#91;2]; \/\/ <mark style=\"background-color:rgba(0, 0, 0, 0);color:#f20f0f\" class=\"has-inline-color\">Recorda que comen\u00e7a a comptar des de 0<\/mark><\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\">$_SESSION[&#8216;exemple&#8217;] en principi no implica un array, o text formatat sin\u00f3 simplement una forma d&#8217;emmagatzemar dades al navegador.<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Variable de sessi\u00f3<\/th><th>Pot ser<\/th><\/tr><\/thead><tbody><tr><td><code>string<\/code>, <code>int<\/code>, <code>bool<\/code>, <code>float<\/code><\/td><td>\u2705 Senzill<\/td><\/tr><tr><td><code>array<\/code><\/td><td>\u2705 Molt com\u00fa<\/td><\/tr><tr><td><code>object<\/code><\/td><td>\u2705 Per\u00f2 amb precauci\u00f3<\/td><\/tr><tr><td><code>null<\/code><\/td><td>\u2705 Tamb\u00e9 possible<\/td><\/tr><tr><td><code>resource<\/code><\/td><td>\u274c No es pot serialitzar (no serveix)<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Conversi\u00f3 de <strong>array \u2192 string<\/strong><\/p>\n\n\n\n<p>\u2705 Funci\u00f3: <code>implode()<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$array = &#91;'poma', 'pl\u00e0tan', 'taronja'];\n$string = implode(\", \", $array);\necho $string; \/\/ Sortida: \"poma, pl\u00e0tan, taronja\"\n<\/code><\/pre>\n\n\n\n<p>Conversi\u00f3 de <strong>string \u2192 array<\/strong><\/p>\n\n\n\n<p>\u2705 Funci\u00f3: <code>explode()<\/code><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>$string = \"poma, pl\u00e0tan, taronja\";<br>$array = explode(\", \", $string);<br>print_r($array);<br>\/\/ Sortida:<br>\/\/ Array ( &#91;0] => poma &#91;1] => pl\u00e0tan &#91;2] => taronja )<br><br><\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Exemples t\u00edpics 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\u00f2 la idea de &#8220;sessions&#8221; \u00e9s comuna a molts &hellip; <a href=\"https:\/\/www.beseit.net\/?p=16132\">Continua llegint <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":8179,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72],"tags":[],"class_list":["post-16132","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-php"],"_links":{"self":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/posts\/16132","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=16132"}],"version-history":[{"count":6,"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/posts\/16132\/revisions"}],"predecessor-version":[{"id":16293,"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/posts\/16132\/revisions\/16293"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=\/wp\/v2\/media\/8179"}],"wp:attachment":[{"href":"https:\/\/www.beseit.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=16132"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=16132"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.beseit.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=16132"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}