Pergunta

Como posso array a corda, no formato que $ _POST faz ... tipo de, bem, eu tenho esse tipo de formato que vem em:

101=1&2020=2&303=3

(Incase seu saber, o seu resultado de jQuery Sortable Serialize ... Eu quero executar uma instrução SQL para atualizar um campo com o lado direito do sinal =, onde seu lado esquerdo do sinal de igual? Eu sei que o SQL para isso, mas eu queria colocá-lo em um formato que eu poderia usar o foreach ($ VAR quanto $ key => $ value) e construir uma instrução SQL de que .. como eu não sei como muitos 101 = 1 haverá?

Eu só quero explodir isso de uma maneira que US $ key = 101 e $ value = 1

Parece confuso;) Thanks so muito em avançado !!

Foi útil?

Solução

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

Outras dicas

Veja a href="http://php.net/manual/en/function.parse-str.php" rel="nofollow noreferrer"> função parse_str

Não é o nome da função intuitiva mais em PHP, mas a função que você está procurando parse_str () . Você pode usá-lo como este:

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

Uma solução rápida e suja:

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

explodir na & para obter uma matriz que contém [101 = 1, 2020 = 2, 303 = 3], em seguida, para cada elemento, dividida na = e empurrar o par chave / valor para uma nova matriz.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top