首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

PHP数组循环赋值问题

是这样的,本学习了许天PHP,打算写个程序来充饥一下自己的技术
打算写一个获取Textarea框的路径为数组,然后循环读取里面的内容输出来,咋试都没成功
以下为源代码:
<form id="form1" name="form1" method="post" action="">
<h3>By:Mosquito</h3>
<textarea name='Ltext' cols='80' rows='10' class='Edit'>
c:\
c:\windows\
c:\inetpub\
c:\Program Files\
c:\Documents and Settings\
</textarea>
<br />
<input type="submit" name="Submit" value="提交" style="width:100px" />
</form>

<?php
header("content-Type: text/html; charset=gb2312");
if(empty($_POST['Ltext']))
{
  exit;
 }
$w_array = array(explode("\n",$_POST['Ltext']));
for($i;$i<count($w_array);$i++)
{
 $$i = scandir($w_array[$i]);
 echo "<pre>";
 print_r($$i);
}
?>


不知道为什么最后的print_r($$i);不会输出,我查看了源代码只是输出了五个<pre>

昵称: Php-Mosquito  时间: 2013-05-26 11:52:10
干嘛要 $$i  
昵称: iminto  时间: 2013-05-26 14:53:16
iminto 发表于 2013-5-26 14:53
干嘛要 $$i

那得啥?普通的变量也不行呢
昵称: Php-Mosquito  时间: 2013-05-26 18:53:49
本帖最后由 嘟嘟之魂 于 2013-5-27 10:13 编辑

$i没有初始值;
变量不能以数字开头($$i);
explode本身返回的就是数字,不需要array,那样会变成$w_array的一维内只包含一个元素(explode返回的数组);
多次<pre>没有闭合;

<?php

header("content-Type: text/html; charset=gb2312");

if(empty($_POST['Ltext'])) {
        exit;
}

echo '<pre>';

$w_array = explode("\n", $_POST['Ltext']);

for($i = 0, $j =[/size][size=2] count($w_array)[/size][size=2]; $i < $j; $i++) {
        print_r(scandir($w_array[$i]));
}

echo '</pre>';

?>
昵称: 嘟嘟之魂  时间: 2013-05-27 09:19:26
嘟嘟之魂 发表于 2013-5-27 09:19
$i没有初始值;
变量不能以数字开头($$i);
explode本身返回的就是数字,不需要array,那样会变成$w_arra ...

嗯哼,,按照大哥的方法试了一遍,貌似也不能输出,的确不能以数字为变量,array的确保不可以试用explode,学了很多,谢谢大哥,就是不知道为何还是输出不了,我自个研究下
昵称: Php-Mosquito  时间: 2013-05-27 11:27:48
print_r($$i)!!$$i是神马????
昵称: ruckfull  时间: 2013-05-27 13:10:25