Home > Backend Development > PHP Problem > How to convert php multidimensional array to encoding

How to convert php multidimensional array to encoding

PHPz
Release: 2023-04-19 09:29:22
Original
766 people have browsed it

PHP Multidimensional Array Conversion

In PHP development, we often use multidimensional arrays. Multidimensional arrays are a very common data structure in PHP, especially when storing nested data. However, when we need to convert a multi-dimensional array into JSON or URL encoding, we face a problem, that is, how to encode the multi-dimensional array.

In this article, we will introduce the specific implementation of multi-dimensional array conversion to encoding through sample code.

JSON encoding multi-dimensional array

To convert a multi-dimensional array into JSON format, you can use the json_encode() function that comes with PHP. This function can convert a PHP value into a JSON-formatted string.

The following is a sample code that shows how to use the json_encode() function to convert a multi-dimensional array to JSON format:

$multidimensionalArray = [
    'foo' => 'bar',
    'fruit' => ['apple', 'banana', 'orange'],
    'veggie' => ['carrot', 'collard', 'pea']
];

$jsonData = json_encode($multidimensionalArray);

echo $jsonData;
Copy after login

The above code will output the following results:

{
    "foo":"bar",
    "fruit":["apple","banana","orange"],
    "veggie":["carrot","collard","pea"]
}
Copy after login

As above As shown, the return result of the json_encode() function is a string in JSON format, in which the multi-dimensional array is converted into JSON format. Note that the default encoding format of this function is UTF-8. If you need to output JSON in other encodings, you can specify the second parameter.

URL encoded multi-dimensional array

In some cases, we need to convert multi-dimensional arrays to URL-encoded format. The URL encoding format can be implemented through the http_build_query() function in PHP.

http_build_query() function is to encode the elements in an array into a URL string. For example, you can build a URL string by concatenating values ​​with an equal sign and key-value pairs with &.

The following is a sample code that shows how to use the http_build_query() function to convert a multidimensional array into URL-encoded format:

$multidimensionalArray = [
    'foo' => 'bar',
    'fruit' => ['apple', 'banana', 'orange'],
    'veggie' => ['carrot', 'collard', 'pea']
];

$urlData = http_build_query($multidimensionalArray);

echo $urlData;
Copy after login

The above code will output the following results:

foo=bar&fruit%5B0%5D=apple&fruit%5B1%5D=banana&fruit%5B2%5D=orange&veggie%5B0%5D=carrot&veggie%5B1%5D=collard&veggie%5B2%5D=pea
Copy after login

As shown above, the return result of the http_build_query() function is a string in URL-encoded format, in which the multi-dimensional array is converted into URL-encoded format. Note that by default, the http_build_query() function will encode both the keys and values ​​of the array. If you need to avoid this encoding, you can also specify the second parameter as false, so that only the value will be encoded.

To sum up, when we need to convert a multi-dimensional array into JSON or URL encoding, we can use PHP's own json_encode() function and http_build_query() function. These two functions can convert multi-dimensional arrays into strings in JSON or URL-encoded format, and are widely used.

The above is the detailed content of How to convert php multidimensional array to encoding. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template