Heim  >  Artikel  >  Backend-Entwicklung  >  又有问题出现了-。-

又有问题出现了-。-

WBOY
WBOYOriginal
2016-06-23 14:00:14773Durchsuche

<?phprequire 'index.html';	//require 与 include 的区别在于前者出错,不再运行程序function test(){	if(isset ($_POST[c]) && isset ($_POST[d])){		$a=$_POST[c];		$b=$_POST[d];		}	if($a<$b){		return 1;		//return 返回函数值之后,终止函数脚本运行,不再运行余下语句		}	return -1;	}	$res=test();	if($res==1){		echo '$x<$y';		}	else{		echo '$x>$y';		}?>



话说,以上代码似乎没有什么错误吧-。-,这个错误提示具体是什么原因?还是PHP服务器设置的问题?期待高手,俺是新手

$_POST[c] 修改成 $_POST['c']之后,提示是这样的:

何解?


回复讨论(解决方案)

$_POST["c"]
$_POST["d"]

$_POST[ “c ”]都加引号

感谢帮助,我把$_POST[] 放到函数外面,就不再提示错误了。是不是这个原因呢?

除非你屏蔽掉 E_NOTICE 级别错误检查
否则
数组的关联键需要用引号括起 $_POST["c"]、$_POST["d"]
$a、$b 的赋值在条件分支内,如果不是表单提交则他们就不存在

正确的写法是

<?phprequire 'index.html'; function test() {  $a = $b = 0;  if(isset ($_POST['c']) && isset ($_POST['d'])){    $a=$_POST['c'];    $b=$_POST['d'];  }  if($a<$b){    return 1;  }  return -1;}$res=test();if($res==1){  echo '$x<$y';}else{  echo '$x>$y';}?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn