2015-06-22 52 views
2

我只是PHP编码的初学者。我一直在阅读教程,但在基本的PHP概念方面遇到了一些麻烦。如果你能帮助我,我会非常感激。数组和函数php

我无法理解为什么下面的代码不起作用。

<?php 
function sum($x, $y) { 
    $z = $x + $y; 
    return $z; 
} 

echo "$x + $y = " . sum(5,10); 
?> 

当我运行它,它打印Array + Array = 15,但我的目标是为5 + 10 = 15

有人请向我解释为什么打印Array而不是实际值?

谢谢! :)


对不起,关于代码中的拼写错误和错误。 更正了它,但仍试图找出为什么我不能在sum(5,10)内声明$x$y

+0

您必须首先声明$ x和$ y,并且您应该了解变量的范围 - 代码中的$ x,$ y只能在函数中访问。它不仅仅是PHP,而是大多数语言。 – shuangwhywhy

+0

可能重复的[我可以将所有php全局变量拖入函数的本地作用域?](http://stackoverflow.com/questions/25187786/can-i-pull-all-php-global-variables-into-the-函数 - 局部范围) –

回答

0

首先,你的代码有很多语法错误。 这里是更正的代码。

<?php 
function sum($x, $y) { 
    $z = $x + $y; 
    return $z; 
} 

在下一行中,您试图替换x,y的值。但你在哪里宣布他们?

echo " $x + $y = " . sum(5,10); 


?> 

首先,你必须声明$x, $y然后像这样使用它们。

$x = 1; $y=2; 

echo " $x + $y = " . sum(5,10); 
+0

非常感谢。:) –

+0

@LilisSkyremix请批准答案,如果你发现它回答你的问题。 I️ – Fawzan

-1

试试这个会的工作,

$x1=''; 
$y1=''; 

<?php 
function sum($x, $y) { 
$x1=$x; 
$y1=$y 
$z = $x + $y; 
return $; 
} 
$x1 = 5; 
$y1 = 10; 
echo $x1 + $y1 = " . sum(5,10); 
?> 
0

$x$y仅在功能的范围内定义。函数外部的代码不知道什么是$x$y,因此不会打印它们。

简单声明它们的功能之外还有,像这样:

<?php 
function sum($x, $y) { 
    $z = $x + $y; 
    return $z; 
} 

$x = 5; 
$y = 10; 
echo "$x + $y = " . sum($x,$y); 
?> 

注意,你不将让他们在两地相同的名称!例如,以下将返回同样的事情

<?php 
function sum($x, $y) { 
    $z = $x + $y; 
    return $z; 
} 

$number1 = 5; 
$number2 = 10; 
echo "$number1 + $number2 = " . sum($number1,$number2); 
?> 

你想在variable scope阅读起来。可以为您的解决方案创建global变量,但阅读文档中的示例将有助于获得更多帮助。 (提示:搜索字global。)

+0

我会阅读它。非常感谢。 :) –