Aşağıdaki biçimde dizi bir dize?

4 Cevap php

Nasıl tür, iyi i geliyor format bu tür $ _POST yapar biçiminde i dizi bir dize, can ...:

101=1&2020=2&303=3

(Incase your wondering, its the result of jQuery Sortable Serialize... I want to run an SQL statement to update a field with the RIGHT side of the = sign, where its the left side of the equal sign? I know the SQL for this, but i wanted to put it in a format that i could use the foreach($VAR as $key=>$value) and build an sql statement from that.. as i dont know how many 101=1 there will be?

Ben sadece bir anahtar = 101 $ yol ve $ value = 1 Bu patlayabilir istiyorum

Sounds confusing ;) Thanks so so much in advanced!!

4 Cevap

Bu PHP en sezgisel işlev adı değil ama aradığınız fonksiyonu parse_str() olduğunu. Bu gibi kullanabilirsiniz:

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

Bir hızlı ve kirli çözüm:

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

& Patlayacak her bir eleman için daha sonra [= 1 101 = 2 2020 = 3 303] içeren bir dizi, on = bölünmüş almak ve yeni bir dizi üzerine anahtar / değer çiftini itmek.