What is the best practice for encoding and decoding variables passed through URLs in PHP to avoid potential issues?

When passing variables through URLs in PHP, it is important to properly encode and decode them to avoid potential issues such as injection attacks and data corruption. To achieve this, you can use the `urlencode()` function to encode variables before appending them to the URL, and then use `urldecode()` to decode them when retrieving and processing the values.

// Encoding variables before appending them to the URL
$var1 = 'example value';
$encoded_var1 = urlencode($var1);

$url = 'http://example.com/?var1=' . $encoded_var1;

// Decoding variables when retrieving and processing them
$decoded_var1 = urldecode($_GET['var1']);

echo $decoded_var1; // Output: example value