Hello
Can anyone please explain to me what max_input_nesting_level is used for? The manual describes it as "Sets the max nesting depth of input variables (i.e. $_GET, $_POST..) ", but I don't understand this at all. I know what nesting depth is, and I know what input variables are, but what does it mean for variables to have nesting depth?
Thanks.
What is max_input_nesting_level?
Moderator: General Moderators
-
- Forum Commoner
- Posts: 45
- Joined: Mon Apr 24, 2006 11:36 pm
Re: 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:
Code: Select all
<input name="foo[bar][bee][]" /> //Nested 3 levels deep
-
- Forum Commoner
- Posts: 45
- Joined: Mon Apr 24, 2006 11:36 pm
Re: What is max_input_nesting_level?
Ahhh, ok thanks.
Re: What is max_input_nesting_level?
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.
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.