论坛: 编程破解 标题: 我遇到的一个PHP问题 复制本贴地址    
作者: snntss [snntss]    论坛用户   登录
开始学PHP,遇到一个问题玩弄了我几小时都摆不平,还请大家帮一下我

<?php

$str1="abcdefg";

function test($str)
{
global $str;
print("string:".$str."<br>");
}

test($str1);

?>

为什么$str1就是打印不出来?
如果不让函数传参数,就能打印出来:
<?php

$str1="abcdefg";

function test()
{
global $str1;
print("string:".$str1."<br>");
}

test();

?>
------------------------------
string:abcdefg

郁闷至极~~~


[此贴被 飘萍浪影(snntss) 在 06月26日17时17分 编辑过]

地主 发表时间: 04-06-26 17:15

回复: mensch1980 [mensch1980]   论坛用户   登录
把第一段代码里面的 global $str; 删掉.$str明明是function里面的local变量,你为什么硬要把它定义成global

B1层 发表时间: 04-06-26 17:51

回复: snntss [snntss]   论坛用户   登录
我的原程序思路是这样的:

从一个页面输入3个字符数组,分别命名$str1,$str2,$str3.
然后我想在另外一张页面调用一个函数来分别打印这三个数组,请问如何写这个函数?
上面第一个函数是我用以作例子的.

B2层 发表时间: 04-06-26 18:13

回复: mensch1980 [mensch1980]   论坛用户   登录
代码:

<!--  a.html 表单页面,可以输入$str1,$str2,$str3的值-->
<form name="test" method="post" action="b.php">
  <input type="input" name="str1" value="$str1的值">
  <br>
  <input type="input" name="str2" value="$str2的值">
  <br>
  <input type="input" name="str3" value="$str3的值">
</form>


代码:

<!--  b.php 处理表单数据的页面-->
<?
$str1=$_POST['str1'];
$str2=$_POST['str2'];
$str3=$_POST['str3'];

test_function($str1,$str2,$str3);

function test_function($str1,$str2,$str3){
  echo $str1.'\n';
  echo $str2.'\n';
  echo $str3;
}
?>


以上程序没有测试


[此贴被 笨狗(mensch1980) 在 06月27日00时12分 编辑过]

B3层 发表时间: 04-06-27 00:11

论坛: 编程破解

20CN网络安全小组版权所有
Copyright © 2000-2010 20CN Security Group. All Rights Reserved.
论坛程序编写:NetDemon

粤ICP备05087286号