1

我想做一个这样的数组

$array = array("'firstName1', 'lastName1'", "'firstName2', 'lastName2'", ......);

我总是收到这样的错误:

解析错误:语法错误,意外的 'while' (T_WHILE),期待 ')' 在 C:\wamp\www\Tests\index.php 第 11 行

<!doctype html>
<html>
<head>
    <meta charset="utf=8">
</head>
<body>
<?php
if(isset($_POST['reg'])){
    $x=1;
    $a = array(
    while($x<=10):
    "'firstName$x', 'lastName$x'"; //I DONT KNOW WHAT TO DO IN THIS LINE//
    $x++;
    endwhile;
    );
    print_r($a);
}
?>
<form action="" method="post">
<input type="text" name="number" /> <input type="submit" name="submit" value="Submit"/>
</form>
    <form action="" method="post">
    <table>
    <?php
    if(isset($_POST['submit'])){
    for($i=1;$i<=$_POST['number'];$i++){
    echo "<tr>
    <td><input type='text' name='firstName$i' /></td>
    <td><input type='text' name='lastName$i' /></td>
    </tr>";
    }
    $i-=1;
    echo "<input type='hidden' name='hide' value='$i' />";
    }           
    ?>
    </table>
    <input type="submit" value="Register" name="reg"/>
    </form>
</body>
</html>
4

3 回答 3

7
$a = array();

while($x<=10):
    $a[] = 'firstName'.$x;
    $a[] = 'lastName'.$x;
    $x++;
endwhile;

我再次阅读了您的问题,如果您希望此 "'firstName1', 'lastName1'" 实际上是一个字符串,那么,

$a = array();
while($x<=10):
    $a[] = 'firstName'.$x.'lastName'.$x;
    $x++;
endwhile; 

或者根据你的问题标题(嵌套数组)然后,

$x = 1;
while($x<=10):
   $a[] = array('firstName'.$x, 'lastName'.$x);
   $x++;
endwhile;
于 2012-07-26T06:03:10.443 回答
0

愿这对你有所帮助。

$x = 1;
while($x <=10 ):    
    $a[] = '"\'firstName'.$x.'\', \'lastName'.$x.'\'"';    
    $x++;
endwhile;
echo '<pre>';
print_r($a);
echo '</pre>';

输出是:

Array
(
    [0] => "'firstName1', 'lastName1'"
    [1] => "'firstName2', 'lastName2'"
    [2] => "'firstName3', 'lastName3'"
    [3] => "'firstName4', 'lastName4'"
    [4] => "'firstName5', 'lastName5'"
    [5] => "'firstName6', 'lastName6'"
    [6] => "'firstName7', 'lastName7'"
    [7] => "'firstName8', 'lastName8'"
    [8] => "'firstName9', 'lastName9'"
    [9] => "'firstName10', 'lastName10'"
)
于 2012-07-26T06:26:36.193 回答
-1
if(isset($_POST['reg'])){
$x=1;
$a = array();
while($x<=10){
 $a[] = "firstName$x";
 $a[] = "lastName$x";
 $x++;
}

print_r($a);

}

于 2012-07-26T06:06:01.137 回答