Domanda

Come posso array una stringa, nel formato che $ _POST fa ... tipo di, beh, ho questo tipo di formato in arrivo:

101=1&2020=2&303=3

(In caso di domande, è il risultato di jQuery Sortable Serialize ... Voglio eseguire un'istruzione SQL per aggiornare un campo con il lato DESTRO del segno =, dove si trova il lato sinistro del segno di uguale? Conosco l'SQL per questo, ma volevo metterlo in un formato che avrei potuto usare foreach ($ VAR come $ key = > $ value) e creare un'istruzione sql da quello .. come non so quanti 101 = 1 ci sarà?

Voglio solo esplodere in un modo che $ key = 101 e $ value = 1

Sembra confuso;) Grazie mille in anticipo !!

È stato utile?

Soluzione

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

Altri suggerimenti

Guarda la funzione parse_str .

Non è il nome della funzione più intuitiva in PHP ma la funzione che stai cercando è parse_str () . Puoi usarlo in questo modo:

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

Una soluzione rapida e sporca:

<?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);

Esplodi su & amp; per ottenere un array che contiene [101 = 1, 2020 = 2, 303 = 3] quindi per ciascun elemento, dividi su = e invia la coppia chiave / valore su un nuovo array.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top