Heim > Backend-Entwicklung > PHP-Tutorial > 问一个关于parse_str函数的问题

问一个关于parse_str函数的问题

WBOY
Freigeben: 2016-06-20 12:26:03
Original
1318 Leute haben es durchsucht

parse_str函数很好用,可以把字符串转换为数组,并且还带有索引。可是,如果索引值中有  . 号,它就会自动把它转换为下划线。例如:

$key = "现代教育技术"; 

$postd[1]="course.title=";
 $postdd=$postd[1].$key;
parse_str($postdd,$fields);
   print_r($fields);

怎么样让parse_str函数不把点号转换为下划线呢。


回复讨论(解决方案)

parse_str 是按 HTTP协议 的约定进行工作的
键名中的 . (点)被换成 _ (下划线)是 http 协议为防止歧义而做的约定
 如果你想原样转化,就得自己编写代码

$s = 'a.1=2&b.2=3';$p = '/&(?!amp;)/';foreach(preg_split($p, $s) as $v) {  $t = explode('=', $v);  $r[$t[0]] = $t[1];}print_r($r);
Nach dem Login kopieren
Array(    [a.1] => 2    [b.2] => 3)
Nach dem Login kopieren

method1=1&keyzy=name&keyword=现代教育技术

可上面这个字符串解析之后就变成了

Array ( [method1] => 1 )

是吗?

$s = 'method1=1&keyzy=name&keyword=现代教育技术';$p = '/&(?!amp;)/';foreach(preg_split($p, $s) as $v) {  $t = explode('=', $v);  $r[$t[0]] = $t[1];}print_r($r);
Nach dem Login kopieren
Array(    [method1] => 1    [keyzy] => name    [keyword] => 现代教育技术)
Nach dem Login kopieren

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage