【问题标题】:array and function php数组和函数php
【发布时间】:2015-06-22 05:57:23
【问题描述】:

我只是 PHP 编码的初学者。我一直在阅读教程,但在基本的 PHP 概念方面遇到了一些麻烦。如果您能帮助我,我将不胜感激。

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

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

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

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

有人可以向我解释为什么 prints Array 而不是实际值吗?

谢谢! :)


对于代码中的拼写错误和错误,我们深表歉意。 更正了它,但仍然试图弄清楚为什么我不能在sum(5,10) 中声明$x$y

【问题讨论】:

标签: php arrays


【解决方案1】:

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

<?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);

【讨论】:

  • @LilisSkyremix 如果您发现它回答了您的问题,请批准答案。 ☺️
【解决方案2】:

$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。)

【讨论】:

    【解决方案3】:

    试试这个就行了,

    $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);
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-05
      • 1970-01-01
      • 1970-01-01
      • 2015-10-26
      • 1970-01-01
      • 2011-03-30
      • 1970-01-01
      • 2019-09-28
      相关资源
      最近更新 更多