2015-06-22 83 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

我會閱讀它。非常感謝。 :) –