Passer un tableau en argument dans une URL

Comme un tableau ne peut pas être passé en argument dans une url, vous pouvez passer une chaine et employer les 2 fonctions serialize() et unserialize() pour encoder le tableau en chaine et le récupérer sur une autre page.


Information sur les mises à jour

Dernière mise à jour :

22 Août 2019
fonctionnement du code vérifié

27 257  vues
Compatibilité du code
PHP 5, PHP 7 et PHP 8
  code classé dans   URL - Liens
  code source classé dans   URL - Liens
 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
                    
<?php
/*------------------------------*/
/*
Titre : Passer un tableau en argument dans une URL

Date édition : 28 Fev 2007
Date mise a jour : 22 Aout 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*------------------------------*/

$tab = array('pomme', 'poire', 'fraise');

$tab_serialiser = serialize($tab);
echo ''.$tab_serialiser.'<br />';
// Affiche: a:3:{i:0;s:5:"pomme";i:1;s:5:"poire";i:2;s:6:"fraise";}

// Votre url sera sous la forme :

// http://exemple.fr/page.php?id=10&value=a:3:{i:0;s:5:"pomme";i:1;s:5:"poire";i
//:2;s:6:"fraise";}
?>
<?php
/*------------------------------*/
/*
Titre : Passer un tableau en argument dans une URL

Date édition : 28 Fev 2007
Date mise a jour : 22 Aout 2019

Rapport de la maj:
- fonctionnement du code vérifié
*/
/*------------------------------*/

$tab = array('pomme', 'poire', 'fraise');

$tab_serialiser = serialize($tab);
echo ''.$tab_serialiser.'<br />';
// Affiche: a:3:{i:0;s:5:"pomme";i:1;s:5:"poire";i:2;s:6:"fraise";}

// Votre url sera sous la forme :

// http://exemple.fr/page.php?id=10&value=a:3:{i:0;s:5:"pomme";i:1;s:5:"poire";i
//:2;s:6:"fraise";}
?>

Exemple :

 
01
02
03
04
05
06
07
08
09
10
11
                    
<?php
// Pour lire la chaine :
$tab_deserialiser = unserialize($tab_serialiser);
foreach ($tab_deserialiser as $i => $j)

echo 'case ['.$i.'] = '.$j.'<br />';
// Affiche:
// case [0] = pomme
// case [1] = poire
// case [2] = fraise
?>
<?php
// Pour lire la chaine :
$tab_deserialiser = unserialize($tab_serialiser);
foreach ($tab_deserialiser as $i => $j)

echo 'case ['.$i.'] = '.$j.'<br />';
// Affiche:
// case [0] = pomme
// case [1] = poire
// case [2] = fraise
?>

      Fonctions du code - Doc officielle PHP

   php.net  
Description
Versions PHP
    array
Crée un tableau
PHP 4, 5, 7 et 8
    echo
Affiche une chaîne de caractères
PHP 4, 5, 7 et 8
    serialize
Génère une représentation stockable d'une valeur
PHP 4, 5, 7 et 8
    unserialize
Crée une variable PHP à partir d'une valeur sérialisée
PHP 4, 5, 7 et 8
Minimum 10 mots. Votre commentaire sera visible après validation.


 Autres snippets qui pourraient vous intéresser

Passer des caractères spéciaux dans 1 url avec GET

Compatibilité : PHP 5, PHP 7, PHP 8

Passer du texte dans lequel il y a des caractères spéciaux dans les variables de vos urls avec la méthode GET.

Passer des caractères spéciaux dans 1 URL - Encode et décode

Compatibilité : PHP 5, PHP 7, PHP 8

Passer les caractères spéciaux dans une URL. Voir la fonction urldecode () pour décoder l'url et récupérer vos valeurs.

* Requêtes exécutées avec Recherche Contextuelle

  28 Fév 2007

Information sur les mises à jour

Dernière mise à jour :

22 Août 2019
fonctionnement du code vérifié

27 257 Vues
Compatibilité du code
PHP 5, PHP 7, PHP 8