English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

php使用parse_str实现查询字符串解析到变量中的方法

Questo esempio spiega come utilizzare parse_str() in PHP per analizzare una stringa di ricerca e convertirla in variabili. Condivido questo con tutti voi per riferimento, come segue:

La funzione parse_str() può realizzare la conversione di una stringa in variabili, il che significa che è stata implementata una meccanismo di conversione tra stringa e variabile, nel processo di trasmissione dei dati tra client e server, i dati vengono trasmessi sotto forma di stringa, come nelle richieste GET, e poi sul lato server attraverso variabili globali come $_GET/$_POST per realizzare la conversione tra stringa e variabile, come: https://it.oldtoolbag.com/?index.php?var1=1&var2=2, dopo la richiesta, il server può utilizzare $_GET['var1'] per ottenere la stringa var1=1&var2=2 e convertirlo in variabile. La funzione parse_str() può realizzare la stessa funzione, usando parse_str() per analizzare il valore di $_SERVER['QUERY_STRING'], è possibile realizzare direttamente la conversione tra stringa e variabile, come $var1.

Uno,原型 della funzione

void parse_str ( string str [, array &arr] )

Due, compatibilità delle versioni

PHP 3, PHP 4, PHP 5

Tre, uso di base della funzione e esempi

1. Analizza la stringa in variabili

<?php
parse_str("var1=jb51&var2=parse_str");
echo $var1.$var2;
?>

2. Analizza la stringa e memorizza le variabili in un array

<?php
parse_str("var1=jb51&var2=parse_str",$array);
print_r($array);
?>

Output:

Array ( [var1] => jb51 [var2] => parse_str )

Spiegazione: questa funzione di memorizzazione delle variabili in un array è stata aggiunta solo in PHP 4.0.3

3. La stringa da analizzare contiene spazi

<?php
parse_str("v ar1=jb51&var 2=parse_str",$array);
print_r($array);
?>

Output:

Array ( [v_ar1] => jb51 [var_2] => parse_str )

Spiegazione: trasforma direttamente gli spazi in trattini bassi _

Quattro, avvertenze

1. Se non è stato impostato il parametro array, le variabili impostate da questa funzione sovrascriveranno quelle già definite con lo stesso nome.

2. La configurazione magic_quotes_gpc in php.ini influisce sull'output di questa funzione. Se è attivata, le variabili vengono convertite con addslashes() prima della解析 di parse_str().

3. Il funzionamento della funzione parse_str() esiste una falla, gli attaccanti possono sfruttare questa falla per abilitare register_globals, quindi sfruttare ulteriori falli nei script PHP. Se si chiama parse_str() con un singolo parametro, la funzione considera che il parametro è una stringa inviata tramite URL. Tuttavia, gli attaccanti possono inviare molte variabili di richiesta durante la chiamata a parse_str() per innescare la terminazione della richiesta memory_limit. Se si chiude la richiesta durante la chiamata a parse_str(), il tag register_globals rimarrà aperto per il resto del ciclo di vita del processo webserver.

Chi è interessato a ulteriori contenuti relativi a PHP può consultare la sezione speciale di questo sito: 'Riassunto dell'uso delle stringhe (string) in PHP', 'Manuale di strutture dati e algoritmi in PHP', 'Riassunto degli algoritmi di progettazione del programma PHP', 'Riassunto degli algoritmi di ordinamento PHP', 'Riassunto delle tecniche di esplorazione e trucchi comuni in PHP', 'Tecniche di calcolo matematico in PHP', 'Tecniche di operazione degli array (Array) in PHP' e 'Riassunto delle tecniche comuni di operazione dei database in PHP'.

Spero che l'articolo descritto sia utile per la progettazione di programmi PHP.

Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, è di proprietà del rispettivo autore, il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, questo sito non detiene i diritti di proprietà, non è stato editato manualmente e non assume responsabilità legali correlate. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una e-mail a notice#oldtoolbag.com (al momento dell'invio dell'e-mail, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, questo sito rimuoverà immediatamente i contenuti sospetti di violazione del copyright.