Tôi đang tìm tên của hàm PHP để tạo chuỗi truy vấn từ một mảng các cặp giá trị khóa. Xin lưu ý, tôi đang tìm kiếm được xây dựng trong chức năng PHP để làm điều này, không phải là một homebrew một (đó là tất cả một tìm kiếm google dường như trở lại). Có một, tôi chỉ không thể nhớ tên của nó hoặc tìm thấy nó trên php.net. IIRC tên của nó không phải là trực quan.Chức năng PHP để xây dựng chuỗi truy vấn từ mảng
Trả lời
Bạn đang tìm kiếm http_build_query()
.
Tôi không biết của một hàm dựng sẵn, nhưng có lớp PECL http://uk.php.net/manual/en/class.httpquerystring.php
Implode sẽ kết hợp một mảng thành một chuỗi cho bạn, nhưng để thực hiện một truy vấn SQL ra một cặp kay/giá trị mà bạn' sẽ phải viết chức năng của riêng bạn.
Đã cố gắng nhưng không hoạt động. Tôi đang cố gắng xây dựng một chuỗi truy vấn http yêu cầu cả khóa và giá trị từ mảng, implode không thể làm điều này. –
Tôi thấy, không chắc chắn nếu bạn có nghĩa là một chuỗi truy vấn SQL hoặc một chuỗi truy vấn http. –
Dưới đây là một việc thực hiện php4 thân thiện đơn giả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);
}
Tôi đoán bạn không thấy câu trả lời được chấp nhận? –
đây là phiên bản php4. – SuitedSloth
Khi thực hiện giải mã, PHP cũng xuất hiện để giải mã phần trăm khóa. Có thể đáng làm điều đó ở đây? – cloudfeet
nhưng đối với ngược tác phẩm này, bạn có thể sử dụng:
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
Chúc may mắn.
Chỉ cần thêm vào câu trả lời của @thatjuan
.
Phiên bản PHP4 tương thích khác về điều này:
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. Xây dựng chức năng xóa đệ quy (bằng php)
- 2. tạo mảng từ truy vấn mysql php
- 3. Truy cập phần tử mảng PHP có chức năng?
- 4. chức năng xây dựng trăn trên bay
- 5. Ruby: xây dựng cốt truyện chức năng
- 6. Xây dựng các truy vấn LINQ từ chuỗi trong C# 4.0 - thực hành tốt nhất
- 7. Xây dựng mảng động trong PHP
- 8. SQLAlchemy - xây dựng bộ lọc truy vấn động từ dict
- 9. SQL tham gia xây dựng truy vấn
- 10. Xây dựng quicksort với php
- 11. Tạo mảng javascript của truy vấn ColdFusion để sử dụng với chức năng ajax
- 12. Làm cách nào để xây dựng truy vấn cơ sở dữ liệu chéo trong PHP?
- 13. Trong clojure, làm thế nào để xây dựng chuỗi lười biếng sử dụng chức năng lặp
- 14. Truy cập biến tin từ chức năng tĩnh trong php
- 15. Xây dựng quines (chức năng tự tái tạo)
- 16. Chức năng PHP trả về hai mảng
- 17. PHP Chức năng trả về chuỗi
- 18. Xây dựng chuỗi từ các biến trong C
- 19. Chức năng mẫu C++ cho mảng, vectơ, được xây dựng trong các loại, STL
- 20. Quy trình xây dựng mã và chức năng nhúng
- 21. Chức năng truy vấn động Postgres
- 22. Xây dựng chuỗi JSON từ Oracle DB
- 23. hiệu quả NumPy 2D mảng xây dựng từ mảng 1D
- 24. Xây dựng một chức năng cắt xén chuỗi thông minh trong C#
- 25. Xây dựng công tắc dựa trên mảng
- 26. PHP/MySQL xây dựng trình đơn cây
- 27. Chức năng truy vấn JPA MONTH/YEAR
- 28. bash được xây dựng trong chức năng mã nguồn bash
- 29. jQuery nguyên mẫu và nhà xây dựng chức năng chaining
- 30. Gọi PHP chức năng từ cành mẫu
Vâng, đó là một. –
Tôi muốn biết về chức năng đó từ lâu. Heh. – ceejayoz
Tôi cũng không bao giờ nhớ được. – Rimian