如何在Laravel中传递数组作为URL参数?
要将数组作为URL参数传递,您可以使用PHP内置函数http_build_query()。http_build_query()函数返回一个URL编码的查询字符串。
示例1
使用http_build_query()
以下是此方法的示例:
$data = array( 'field1' => 'test', 'field2' => 'xyz' ); echo http_build_query($data) . "
";
输出
以上代码的输出为:
field1=test&field2=xyz
以下示例演示了当您有一个数组需要作为URL参数传递时,如何使用http_build_query()。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use Illuminate\Http\Response; class UserController extends Controller{ public function index(Request $request) { $yoururl = "https://www.test.com"; $params = array( "t1" => "abc", "t2" => "xyz" ); echo $yourfinalurl = $yoururl."?".http_build_query($params); } }
以上代码的输出为:
https://www.test.com?t1=abc&t2=xyz
示例2
您可以使用serialize()和urlencode PHP内置函数将数组作为URL参数传递。
serialize()函数将返回给定输入的位序列,而urlencode将再次对值以及其中可用的特殊字符进行编码。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use Illuminate\Http\Response; class UserController extends Controller{ public function index(Request $request) { $yoururl = "https://www.test.com"; $params = array( "t1" => "abc", "t2" => "xyz" ); $firstserialize = serialize($params); echo $yourfinalurl = $yoururl."?".urlencode($firstserialize); } }
输出
以上代码的输出为:
https://www.test.com?a%3A2%3A%7Bs%3A2%3A%22t1%22%3Bs%3A3%3A%22abc%22%3Bs%3A2%3A%22t2%22%3Bs%3A3%3A%22xyz%22%3B%7D
示例3
使用http_build_query()和urlencode()函数。
urlencode() - 它将值编码为字符串。
http_build_query() - 返回URL编码的查询字符串。
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use Illuminate\Http\Response; class UserController extends Controller{ public function index(Request $request) { $yoururl = "https://www.test.com"; $params = array( "t1" => "abc", "t2" => "xyz" ); echo $yourfinalurl = $yoururl."?".urlencode(http_build_query($params)); } }
输出
以上代码的输出为:
https://www.test.com?t1%3Dabc%26t2%3Dxyz
示例4
使用urlencode()和jsonencode()
以下是一个使用jsconencode()和urlencode()函数将数组作为URL参数传递的示例:
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; use Illuminate\Http\Response; class UserController extends Controller{ public function index(Request $request) { $yoururl = "https://www.test.com"; $params = array( "t1" => "abc", "t2" => "xyz" ); echo $yourfinalurl = $yoururl."?".urlencode(json_encode($params)); } }
输出
以上代码的输出为:
https://www.test.com?%7B%22t1%22%3A%22abc%22%2C%22t2%22%3A%22xyz%22%7D
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP