Can anyone please explain to me what max_input_nesting_level is used for and what is nesting depth with a detailed example. Because as i am a newbie i need to know in depth.
Thanks n advance
This command specifies the maximum nesting depth of an XML, JSON, or GraphQL message that the parse action accepts.
The max_input_nesting_level setting says how many times you can put an array inside another in the GET or POST input.
I assume you know the basics about arrays and the superglobals $_POST and $_GET. If you don't know that, you don't need to understand what max_input_nesting_level is.
Nested arrays are arrays that contain other arrays. Imagine this piece of code:
$a = array();
$a["a"] = array();
$a["b"] = array();
$a["a"]["a"] = 1;
$a["a"]["b"] = 2;
$a["b"]["a"] = 3;
$a["b"]["b"] = 4;
$a
is an array with two elements. Each one of these ($a["a"]
and $a["b"]
) is an array itself, with two elements inside each one. If you want to get the value of one of those, you have to specify the arrays-inside-arrays you want to access. For example, $a["b"]["a"]
is 3.
Let's apply this to web input. Suppose you have this form:
<form action="" name="myform" method="post">
<input name="foo[bar][one]">
<input name="foo[bar][two]">
<input name="foo[baz][one]">
<input name="foo[baz][two]"> <!-- The names don't mean anything -->
<input type="submit">
</form>
As I explained previously, you have arrays inside arrays. If you want to get the value of the second input, you have to write $_POST["foo"]["bar"]["two"]
.
The nesting level is the times you have an array inside an array. The max_input_nesting_level setting says how many times you can put an array inside another in the GET or POST input.
I hope this helped. Like I said before, if you don't know the basics of manipulating arrays, or if you don't know what $_POST and $_GET are and how to get input from HTML, go look it up. You could read this chapter of the book that I used to learn PHP.
What is max_input_nesting_level?
You can pass arrays in GET and POST request parameters, by indicating the nesting in the parameter name.
For example:
<input name="foo[bar][bee][]" /> //Nested 3 levels deep
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With