首页 > 解决方案 > php 从 textarea 读取的每一行都不起作用,为什么?

问题描述

我正在尝试创建一个从 textarea 读取数组中每一行的代码,例如 print $line[1] ;打印 $line[2] ;

我用 echo 替换了 print 但 syill 不起作用

<form method="post" action="test.php">
    <textarea rows="4" cols="50" name="textareaname">
Line one test
Line 2 test
</textarea>
<input type="submit" value="Submit">
</form>

<?php
$text =  = trim($_POST['textareaname']);
$textAr = explode("\n", $text);
$textAr = array_filter($textAr, 'trim'); // remove any extra \r characters left behind

foreach ($textAr as $line) {
    // processing here
} 
print $line[1] ;
print $line[2] ;
?>

HTTP 错误 500

标签: phparrays

解决方案


$line是一个变量,它保存循环结束后的最后一个元素(它是string) 。并使用打印字符串的第二个符号$textArforeach$line[1]

您真正想要打印和查看的是$textAr[0]or $textAr[1]

print $textArr[1];

这将打印您的$textArr数组所需的元素。

更新:如果您需要发送电子邮件,假设每行都是有效地址,您可以使用此代码:

foreach ($textAr as $line) {
    echo 'Current email is ' . $line;
    // sending email code goes here
} 

推荐阅读