Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 可变变量_Php - Fatal编程技术网

Php 可变变量

Php 可变变量,php,Php,如何在for循环中创建变量 这是一个循环: for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) { } 等等 因此$\u POST的变量和内容应该是动态的。为了清晰起见,进行了扩展-您可以使用一行程序 for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) { $varname = 'seat' . $co

如何在for循环中创建变量

这是一个循环:

for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) {

}
等等


因此$\u POST的变量和内容应该是动态的。

为了清晰起见,进行了扩展-您可以使用一行程序

for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) {
    $varname = 'seat' . $counter;
    $$varname = $POST[$varname];
}
但是!你真的不应该这样做。如果您真的必须这样做,请查看内置的PHP方法——不过这也被认为是不好的做法

重新考虑你的问题,看看数组是否是解决方案,我想会的。这将使通过var_dump和迭代等方式进行检查变得更容易,并且不会污染全局变量空间

for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) {
   $name = 'seat' . $counter;
   $$name = $_POST['seat' . $counter];
}

建议使用阵列,因为您可以更轻松地检查它们

首先,我会使用一个数组,除非我遗漏了什么。与使用数组相比,使用$seat1、$seat2等变量的实用性要小得多,也要麻烦得多

也就是说,使用以下语法:

for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) {
  $key = 'seat' . $counter;
  $$key = $_POST[$key];
}

最后,PHP有一个内置函数,用于将数组键提取到符号表中:。如果您将extract与未经过滤的用户输入(例如$\u POST)一起使用,则会产生巨大的潜在安全问题,因此请谨慎使用。

这也适用于:

for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) {
    ${'seat' . $counter} = $_POST['seat' . $counter];
}

您可以使用,但我不建议您尝试这样做。

为什么不创建一个数组?实际上您应该更改$\u POST变量中的值。您这样做是因为要更新正在显示的表单上的值吗?如果是这样的话,你可能想考虑使用JavaScript来解决这个问题。一个数组就太多了healthier@Pekka同意,但这回答了OP的问题。我将详细说明我的答案:使用extract会在应用程序中打开安全漏洞,因此强烈反对使用extract。我更喜欢这种语法,尽管我通常将其用于属性,而不是局部变量。
for ( $counter = 1; $counter <= $aantalZitjesBestellen; $counter ++) {
    ${'seat' . $counter} = $_POST['seat' . $counter];
}