请帮帮我,我在我的项目中遇到了这个脚本。这是html数组还是php数组?
<input type="hidden" name="newsletter['.$var["id"].'][someid]" value="'.$var['id'].'" />
答案 0 :(得分:3)
它看起来像是PHP脚本的一部分。我想其余的看起来像这样:
$html = '<input type="hidden" name="newsletter[' . $var["id"] .
'][someid]" value="' . $var['id'] . '" />'
评估时,它应该产生类似下面的HTML字符串:
<input type="hidden" name="newsletter[123][someid]" value="123" />
答案 1 :(得分:3)
这是两者的结合。例如,以下内容:
<input type='text' name='arr[foo]' value='fooValue' />
<input type='text' name='arr[bar]' value='barValue' />
提交后,PHP会将其读入名为arr
的数组中,如下所示:
$_POST['arr'] (
'foo' => 'fooValue',
'bar' => 'barValue'
)
这使得能够通过生成PHP或通过javascript或类似方式更容易地将数组传递到PHP脚本。
您拥有的具体示例是使用PHP数组生成一些HTML,然后可以在下一个PHP脚本中将其作为数组读取,但HTML本身并不具有数组的概念。
答案 2 :(得分:3)
让我们打破这个......
<input type="hidden" name="newsletter['.$var["id"].'][someid]" value="'.$var['id'].'" />
没有PHP ...
<input type="hidden" name="newsletter[removed][someid]" value="removed" />
是否将HTML输入字段设置为以数组形式发布。如果你调用了$_POST['newsletter']
,它将返回一个数组。所以这部分是一个HTML数组。
$var["id"]
PHP变量是一个数组。它调用$ var associative array的“id”索引。
因此它既是HTML数组又是PHP数组。如果您要执行此字段并使用以下代码段分析PHP中的帖子数据:
if (isset($_POST['newsletter']))
die(print_r($_POST));
$var = array('id' => 2); // assume $var['id'] = 2
echo "<form method='post'>";
echo '<input type="hidden" name="newsletter['.$var["id"].'][someid]" value="'.$var['id'].'" />';
echo "<input type='submit' />";
echo "</form>";
提交后,您会在$ _POST ['newsletter']
中看到以下数组Array
(
[newsletter] => Array
(
[2] => Array
(
[someid] => 2
)
)
)
答案 3 :(得分:0)
HTML没有数组的概念。
所有输入都将成为DOM中elements
的{{1}}集合的一部分(可通过客户端JS访问)。
当提交给PHP脚本时,输入的名称将导致PHP将其扩展为分配给关联数组中的键的值,该关联数组分配给分配给HTMLFormElement
键的另一个关联数组中的键在newsletter
以及$_REQUEST
或$_GET
超全球数组中。