:relfileprefix: ../../../
[#boost-urls-params_base-find_last-04]

= xref:boost.adoc[pass:[boost]]::xref:boost/urls.adoc[pass:[urls]]::xref:boost/urls/params_base.adoc[pass:[params_base]]::find_last


Find a matching key


== Synopsis

Declared in header `<https://www.github.com/boostorg/url/blob/develop/include/boost/url/params_base.hpp#L427[boost/url/params_base.hpp,window=blank_]>`

[source,cpp,subs="verbatim,macros,-callouts"]
----
xref:boost/urls/params_base/iterator.adoc[iterator]
find_last(
    core::string_view key,
    xref:boost/urls/ignore_case_param.adoc[ignore_case_param] ic = = {}) const noexcept;
----

== Description


This function examines the
parameters in the container to
find a match for the specified key.
The comparison is performed as if all
escaped characters were decoded first.




The search starts from the last param
and proceeds backwards until either the
key is found or the beginning of the
range is reached, in which case `end()`
is returned.

=== Example
[,cpp]
----
assert( (*url_view( "?first=John&last=Doe" ).params().find_last( "last" )).value == "Doe" );
----

=== Complexity

Linear in `this-&gt;buffer().size()`.




== Return Value


an iterator to the param



== Parameters

|===
| Name | Description 

| *key*
| 
The key to match.
By default, a case-sensitive
comparison is used.

| *ic*
| 
An optional parameter. If
the value
xref:boost/urls/ignore_case.adoc[ignore_case]
is passed
here, the comparison is
case-insensitive.

|===




