Frage

Wie kann ich ein String-Array, in dem Format, das $ _POST tut ... Art, auch ich habe diese Art von Format kommt in:

101=1&2020=2&303=3

(Incase Ihr fragen, ist es das Ergebnis von jQuery Sortable Serialize ... Ich mag eine SQL-Anweisung ausführen ein Feld mit der rechten Seite des Gleichheitszeichens zu aktualisieren, wobei seine linke Seite des Gleichheitszeichens? Ich kenne die SQL für diese, aber ich wollte es in ein Format bringen, dass ich die foreach (Schlüssel $ VAR wie $ => $ value) verwenden könnte und bauen eine SQL-Anweisung aus, dass .. wie ich weiß nicht, wie viele 101 = 1 wird es sein?

Ich will nur dies in einer Art und Weise zu explodieren, die Taste $ = 101 und $ value = 1

Sounds verwirrend;) Dank so sehr in fortgeschrittener !!

War es hilfreich?

Lösung

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

Andere Tipps

Sehen Sie die parse_str Funktion.

Es ist nicht die intuitiven Funktionsnamen in PHP aber die Funktion, die Sie suchen ist parse_str () . Sie können es wie folgt verwendet werden:

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

Eine schnelle und schmutzige Lösung:

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

über das Explodieren und eine Anordnung zu erhalten, die enthält [101 = 1 2020 = 2, 303 = 3] dann für jedes Element, Split an dem = und drückt den Schlüssel / Wert-Paar auf eine neue Array.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top