Question

Comment puis-je organiser une chaîne, dans le format que fait $ _POST ... en quelque sorte, eh bien, j'ai ce genre de format à venir:

101=1&2020=2&303=3

(Incase votre question, cest le résultat de jQuery Sortable Serialize ... Je veux exécuter une instruction SQL pour mettre à jour un champ avec le côté DROIT du signe =, où c'est le côté gauche du signe égal? Je connais le code SQL pour cela, mais je voulais le mettre dans un format que je pourrais utiliser avec le foreach ($ VAR en tant que $ key = > $ value) et construire une instruction SQL à partir de cela .., car je ne sais pas combien de 101 = 1 il y aura?

Je veux juste exploser ceci de manière à ce que $ key = 101 et $ value = 1

Cela semble déroutant;) Merci beaucoup à l'avance!

Était-ce utile?

La solution

$input = "101=1&2020=2&303=3";
$output = array();
$exp = explode('&',$input);
foreach($exp as $e){
   $pair = explode("=",$e);
   $output[$pair[0]] = $pair[1];
}

Autres conseils

Voir la fonction parse_str .

Ce n'est pas le nom de fonction le plus intuitif en PHP, mais la fonction recherchée est parse_str () . Vous pouvez l'utiliser comme ceci:

$myArray = array();
parse_str('101=1&2020=2&303=3', $myArray);
print_r($myArray);

Une solution rapide et sale:

<?php
$str = "101=1&2020=2&303=3";
$VAR = array();
foreach(explode('&', $str) AS $pair)
{
    list($key, $value) = each(explode('=', $pair));
    $VAR[$key] = $value;
}
?>
parse_str($query_string, $array_to_hold_values);

Exploser sur le & amp; pour obtenir un tableau contenant [101 = 1, 2020 = 2, 303 = 3], séparez-les par élément et divisez la paire clé / valeur dans un nouveau tableau.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top