Estoy buscando el nombre de la función de PHP para construir una cadena de consulta a partir de una matriz de pares de valores clave. Tenga en cuenta que estoy buscando la función incorporada en PHP para hacer esto, no una función casera (que es todo lo que parece una búsqueda de google). Hay uno, simplemente no puedo recordar su nombre o encontrarlo en php.net. IIRC su nombre no es tan intuitivo.Función de PHP para construir una cadena de consulta desde la matriz
Respuesta
Está buscando http_build_query()
.
No estoy al tanto de una función incorporada, pero no es la clase de PECL http://uk.php.net/manual/en/class.httpquerystring.php
Implode combinará una matriz en una cadena para usted, pero para hacer una consulta SQL a cabo una kay/valor par que' Tendré que escribir tu propia función.
intentado eso, pero no va a funcionar. Estoy intentando construir una cadena de consulta http que requiera tanto las claves como los valores de la matriz, implode no puede hacer esto. –
Veo, no estaba seguro de si se refería a una cadena de consulta SQL o una cadena de consulta http. –
Aquí es un simple php4-amigable aplicación:
/**
* Builds an http query string.
* @param array $query // of key value pairs to be used in the query
* @return string // http query string.
**/
function build_http_query($query){
$query_array = array();
foreach($query as $key => $key_value){
$query_array[] = urlencode($key) . '=' . urlencode($key_value);
}
return implode('&', $query_array);
}
Supongo que no vio la respuesta aceptada? –
esta es una versión php4. – SuitedSloth
Al hacer su decodificación, PHP parece decodificar porcentualmente la clave también. Posiblemente vale la pena hacer eso aquí? – cloudfeet
pero para inversa este trabajo, puede utilizar:
void parse_str(str $input, array $output);
//for example:
$str = "first=value&arr[]=foo+bar&arr[]=baz";
parse_str($str);
echo $first; // value
echo $arr[0]; // foo bar
echo $arr[1]; // baz
parse_str($str, $output);
echo $output['first']; // value
echo $output['arr'][0]; // foo bar
echo $output['arr'][1]; // baz
Buena suerte.
Así como la adición a la respuesta de @thatjuan
.
versión PHP4 más compatible de esto:
if (!function_exists('http_build_query')) {
if (!defined('PHP_QUERY_RFC1738')) {
define('PHP_QUERY_RFC1738', 1);
}
if (!defined('PHP_QUERY_RFC3986')) {
define('PHP_QUERY_RFC3986', 2);
}
function http_build_query($query_data, $numeric_prefix = '', $arg_separator = '&', $enc_type = PHP_QUERY_RFC1738)
{
$data = array();
foreach ($query_data as $key => $value) {
if (is_numeric($key)) {
$key = $numeric_prefix . $key;
}
if (is_scalar($value)) {
$k = $enc_type == PHP_QUERY_RFC3986 ? urlencode($key) : rawurlencode($key);
$v = $enc_type == PHP_QUERY_RFC3986 ? urlencode($value) : rawurlencode($value);
$data[] = "$k=$v";
} else {
foreach ($value as $sub_k => $val) {
$k = "$key[$sub_k]";
$k = $enc_type == PHP_QUERY_RFC3986 ? urlencode($k) : rawurlencode($k);
$v = $enc_type == PHP_QUERY_RFC3986 ? urlencode($val) : rawurlencode($val);
$data[] = "$k=$v";
}
}
}
return implode($arg_separator, $data);
}
}
- 1. ¿Hay una función de PHP para convertir una cadena de consulta en una matriz?
- 2. PHP construir una cadena Unicode?
- 3. Construir un árbol desde una matriz plana en PHP
- 4. crear una matriz desde la consulta mysql php
- 5. Construir cadena de consulta usando urlencode python
- 6. PHP - Error al devolver una matriz desde una función recursiva
- 7. Construir matriz dinámica en PHP
- 8. ¿Cómo construir la cadena de consulta con Javascript
- 9. PHP Función para devolver la cadena
- 10. PHP Función de clasificación para ordenar una matriz de objetos
- 11. ¿Eliminar cadena de la matriz de PHP?
- 12. PHP - Crear una matriz de cadena
- 13. Función de llamada jQuery desde una cadena
- 14. Reemplazar una parte específica de una cadena de consulta PHP
- 15. JQUERY + devolver una matriz desde una función
- 16. Construir en la función para el cálculo de la covarianza
- 17. Crear una matriz de javascript de la consulta ColdFusion para usar con la función ajax
- 18. PHP: ¿Llamar a una clase desde una matriz?
- 19. matriz para la función de SOAP que pasan en PHP
- 20. ¿Puedes usar HipHop PHP para construir una extensión de php?
- 21. ¿Cómo devolver una matriz desde una función?
- 22. Convertir PHP cadena de matriz en una matriz
- 23. Construir un conmutador basado en la matriz
- 24. ¿Puede PostgreSQL seleccionar desde una matriz devuelta por una función?
- 25. ¿Cómo comprimir/descomprimir una cadena de consulta larga en PHP?
- 26. implosionar una matriz en una cadena separada por comas de la consulta de mysql
- 27. PHP Error: Nombre de la función debe ser una cadena
- 28. ¿Hay alguna forma de devolver HTML en una función de PHP? (sin construir el valor de retorno como una cadena)
- 29. ¿La mejor manera de devolver html desde la función php?
- 30. Cómo producir una cadena única de una matriz php
Sí, ese es el indicado. –
Desearía haber sabido acerca de esa función hace mucho tiempo. Je. – ceejayoz
Nunca puedo recordarlo tampoco. – Rimian