Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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-变量变量或for()内变量的数组_Php_Arrays_Variables_Loops_Variable Variables - Fatal编程技术网

PHP-变量变量或for()内变量的数组

PHP-变量变量或for()内变量的数组,php,arrays,variables,loops,variable-variables,Php,Arrays,Variables,Loops,Variable Variables,我有以下代码可以用php生成HTML表: <?php include("numbers2.php"); echo '<table border="1">'; echo '<tr>'; for ($i = 1; $i <= 9; $i++) { if($a1_pos_txt !== TRUE) { echo "<td>" . $numbers["a" . $i . "_pos"] . "</td>"; } else {?>

我有以下代码可以用php生成HTML表:

<?php 
include("numbers2.php");

echo '<table border="1">';
 echo '<tr>';

for ($i = 1; $i <= 9; $i++) {
if($a1_pos_txt !== TRUE) {

echo "<td>" . $numbers["a" . $i . "_pos"] . "</td>";

} else {?> 
<?php 
echo '<td><input type="text" name="a' . $i . '_post" size="1" maxlength="1" /></td>';
?>
<?php } }?>
我基本上就是用$number[a.$I.\u pos]和name=a'做的$我_但是现在这个变量在另一个变量中,我不知道怎么做

我希望它足够清楚,如果没有,请要求任何必要的澄清

提前谢谢

eval函数将执行您想要的操作


eval函数将执行您想要的操作。

我想您应该用数组替换单个变量。 我是说,不是创造

$a1_pos_txt ... $a9_pos_txt

$arrOfValues[1] = TRUE;
$arrOfValues[2] = FALSE;
 ......
 .....
 ...
$arrOfValues[9] = TRUE;
您应该有一个数组,可以在其中使用以下内容:

如果$myVar[$i]!==真{…}

在何处以及如何初始化标志变量


Charlie

我想你应该用数组替换你的单个变量。 我是说,不是创造

$a1_pos_txt ... $a9_pos_txt

$arrOfValues[1] = TRUE;
$arrOfValues[2] = FALSE;
 ......
 .....
 ...
$arrOfValues[9] = TRUE;
您应该有一个数组,可以在其中使用以下内容:

如果$myVar[$i]!==真{…}

在何处以及如何初始化标志变量


Charlie

您可以使用动态变量:

<?php
    $test = 'a';
    echo ${'test'}; 
?>
这将显示a


因此,您可以将变量名构建为字符串并获取其值

您可以使用动态变量:

<?php
    $test = 'a';
    echo ${'test'}; 
?>
这将显示a

因此,您可以将变量名构建为字符串并获取其值

变量将执行您想要的操作


变量将执行您想要的操作。

而不是使用变量数组。在您的数组中,将包含像true或flase这样的值,这些值早在$a1\u pos\u txt中

$arrOfValues[1] = TRUE;
$arrOfValues[2] = FALSE;
 ......
 .....
 ...
$arrOfValues[9] = TRUE;
所以代码看起来像这样

<?php 
include("numbers2.php");

 echo '<table border="1">';
  echo '<tr>';

for ($i = 1; $i <= 9; $i++) {
if($arrOfValues[$i] !== TRUE) {

 echo "<td>" . $numbers["a" . $i . "_pos"] . "</td>";

} else {?> 
<?php  
echo '<td><input type="text" name="a' . $i . '_post" size="1" maxlength="1" /></td>';
?>

使用数组代替变量。在您的数组中,将包含像true或flase这样的值,这些值早在$a1\u pos\u txt中

$arrOfValues[1] = TRUE;
$arrOfValues[2] = FALSE;
 ......
 .....
 ...
$arrOfValues[9] = TRUE;
所以代码看起来像这样

<?php 
include("numbers2.php");

 echo '<table border="1">';
  echo '<tr>';

for ($i = 1; $i <= 9; $i++) {
if($arrOfValues[$i] !== TRUE) {

 echo "<td>" . $numbers["a" . $i . "_pos"] . "</td>";

} else {?> 
<?php  
echo '<td><input type="text" name="a' . $i . '_post" size="1" maxlength="1" /></td>';
?>

有人建议使用变量-它们太糟糕了!不要用它们!它们会使您的代码很难阅读和维护,并且可能会带来安全问题

其他人建议使用eval-绝对不要使用它!!在几乎所有可能的情况下,使用eval被认为是非常糟糕的做法;很可能会带来安全问题

一些人建议使用数组而不是命名变量-这是正确的解决方案

你已经用$number做了,那么你能用post变量做类似的事情吗

如果它们与HTML代码相关,那么您就得到name=a'$我_post然后您可以将此代码改为post变量-类似如下:

name="a_post['.$i.']"

然后,不再使用名为a1_post和a2_post等的post变量,而是使用名为a_post[1]和a_post[2]等的post变量。因为它们是一个数组,所以循环它们变得非常容易。

有人建议使用变量-它们太糟糕了!不要用它们!它们会使您的代码很难阅读和维护,并且可能会带来安全问题

其他人建议使用eval-绝对不要使用它!!在几乎所有可能的情况下,使用eval被认为是非常糟糕的做法;很可能会带来安全问题

一些人建议使用数组而不是命名变量-这是正确的解决方案

你已经用$number做了,那么你能用post变量做类似的事情吗

如果它们与HTML代码相关,那么您就得到name=a'$我_post然后您可以将此代码改为post变量-类似如下:

name="a_post['.$i.']"


然后,不再使用名为a1_post和a2_post等的post变量,而是使用名为a_post[1]和a_post[2]的post变量等等。然后循环它们变得非常容易,因为它们是一个数组。

你应该使用数组而不是数组。你应该使用数组而不是数组。正如Lan所说的使用eval函数:或者正如Lan所说的使用eval函数:该死的,php对我来说已经失败了,至少我一开始就看一看!谢谢@Trufa-已确认php.net已关闭。但是像uk.php.net这样的镜像已经启动了,所以试试其中一个吧。这个网站又启动了,看起来不错!!谢谢,我会尝试一下。该死的php对我来说已经失败了,至少我会在它重新启动时给它看一看!谢谢@Trufa-已确认php.net已关闭。但是像uk.php.net这样的镜像已经启动了,所以试试其中一个吧。这个网站又启动了,看起来不错!!谢谢,我会尝试一下。是的,我可以,但我不知道如何为变量$a1_post_txt的一部分执行此操作,只更改1是的,我可以,但我不知道如何为变量$a1_post_txt的一部分执行此操作,只更改1,尽管我无法像这样应用,因为以前的代码这给了我一个好主意,只需一个稍微修改一下谢谢谢谢!!我做了一些非常相似的事情,但实际上这正是我所做的!我希望我的答案能帮助你解决你的问题,虽然我不能像这样应用它,因为以前的代码,这给了我一个好主意
稍微修改一下谢谢谢谢!!我做了一些非常相似的事情,但实际上这正是我所做的!我希望我的回答能帮助你解决问题