将查询字符串解析为二维数组

时间:2015-06-21 09:45:35

标签: php arrays

我正在处理我的代码,它可以将查询字符串转换为数组。

这是我的查询字符串:

key1=['PH','PHILIPPINES']&key2=['KR','KOREA']

我只想显示第二行,如下所示:

  

     

韩国

在我的代码中,它正在运行,但它显示:

['PH','PHILIPPINES']
['KR','KOREA

这是我的代码:

<?php
    $get_string = "key1=['PH','PHILIPPINES']&key2=['KR','KOREA']";

    parse_str($get_string, $get_array);

    $colors = $get_array;


    foreach ($colors as $key => $value) {
        echo $value."<BR>";
    }
?>

3 个答案:

答案 0 :(得分:0)

这是你的代码:

<?php
    $get_string = "key1=['PH','PHILIPPINES']&key2=['KR','KOREA']";

    parse_str($get_string, $get_array);

    $colors = $get_array;

    foreach ($colors as $key => $value) {
        // remove first and last characters ( "[" and "]" )
        $value = substr($value, 1, -1);
        // explode
        $value = explode(",", $value);
        // remove "'"
        $our_value = str_replace("'", "", trim($value[1]));
        // show
        echo ucfirst(strtolower($our_value))."<BR>";
    }
 ?>

答案 1 :(得分:0)

我认为你需要这个。 只需用逗号 null ,进行简单爆炸就可以获得字母。

preg_replace

输出:

$get_string = "key1=['PH','PHILIPPINES']&key2=['KR','KOREA']";
parse_str($get_string, $get_array);
$colors = $get_array;

foreach ($colors as $key => $value) {
   $x = explode(",",$value);        
   $new_string = preg_replace("/[^A-Za-z0-9?!]/",'',$x[1]);
   echo $new_string."<br>";     
}

答案 2 :(得分:0)

$var = array( 'PH'=>'PHILLIPINES', 'KR'=>'KOREA'); 其他

$var= array( array('KR'=>'KOREA'), array('PH'=>'PHILLIPINES') );

然后回声 foreach loop