从php数组中提取元素并指定为变量

时间:2011-04-11 02:14:30

标签: php html arrays forms loops

我一直在研究这个问题,似乎根本无法解决这个问题。任何帮助,将不胜感激。开始了。

我有一个带有文本框和提交按钮的html表单。在文本框中输入的文本将发布到我的.php处理器表单。一旦它到达这里,我使用:

$textdata = $_POST['textdata'];

$input = explode("\n", $textdata);

这将获取数据,逐行拆分,并将每行存储在名为$input的数组中。 从这里我可以回显$input[0]以获得第一行,依此类推。但是我需要在我的脚本中进一步使用它,并且需要将变量分配给第一行,或$input[0]$input[0] = $line1;不起作用。我想我可能不得不使用extract()和foreach循环?任何帮助将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:2)

好的一件事$input数组总是可用的,或者如果我理解正确你可以做的是:

$textdata = $_POST['textdata'];

$input = explode("\n", $textdata); //this should have the array of lines assuming
                                   //that $textdata was \n delimited

$line1 = $input[0]; //use $line1 later in code

答案 1 :(得分:1)

$line1 = $input[0];
$line2 = $input[1];
$line3 = $input[2];
// etc.

或:

for ($i=0, $inputlen = count($input); $i < $inputlen; $i++) {
    ${'line'.($i+1)} = $input[$i];
}

或简单地说:

list($line1, $line2, $line3) = $input;

答案 2 :(得分:0)

  

$输入[0]。 $ input [0] = $ line1;

我无法判断该行中的句号是全停止还是连接运算符。

对于连接,它应该是这样的。

$input[0] = $input[0] . $line1;

甚至更短

$input[0] .= $line1;

如果您只是想按值将$input[0]分配给$line1,那么

$line1 = $input[0];

您也可以使用

指定参考
$line1 =& $input[0];

使用后者,$line1中的所有更改都将显示在$input[0]