What are some best practices for passing multidimensional arrays via GET in PHP?

When passing multidimensional arrays via GET in PHP, it is important to properly serialize the array before appending it to the URL query string. One common method is to use the `http_build_query` function to encode the array into a query string format. This ensures that the array data is properly formatted and can be easily decoded on the receiving end.

// Define a multidimensional array
$data = array(
    'key1' => 'value1',
    'key2' => array(
        'subkey1' => 'subvalue1',
        'subkey2' => 'subvalue2'
    )
);

// Serialize the array using http_build_query
$serialized_data = http_build_query(array('data' => $data));

// Append the serialized data to the URL
$url = 'http://example.com/api?' . $serialized_data;

// On the receiving end, decode the serialized data
$decoded_data = urldecode($_GET['data']);
$parsed_data = array();
parse_str($decoded_data, $parsed_data);

// Access the multidimensional array values
echo $parsed_data['key1']; // Output: value1
echo $parsed_data['key2']['subkey1']; // Output: subvalue1