如何在php中使用未定义的变量在函数中回显/打印?
我并不擅长php,但目前我正在努力学习。我可以在函数外很好地打印,但我收到的具体说明要求我在函数内打印结果。我试过了 回声“$区域”; 回声“calculatearea()” 我已经搜索过了,但仍然不知道如何在函数内部获得打印,而只是在函数外部如何在php中使用未定义的变量在函数中回显/打印?,php,Php,我并不擅长php,但目前我正在努力学习。我可以在函数外很好地打印,但我收到的具体说明要求我在函数内打印结果。我试过了 回声“$区域”; 回声“calculatearea()” 我已经搜索过了,但仍然不知道如何在函数内部获得打印,而只是在函数外部 <?php if (isset($_POST['CalcBT'])) { global $area; function calculateCircumference () { $n
<?php
if (isset($_POST['CalcBT'])) {
global $area;
function calculateCircumference () {
$num1 = ($_POST['Length']);
$num2 = ($_POST['Width']);
$circ = $num1 + $num2;
return $circ;
}
function calculateArea () {
$num1 = ($_POST['Length']);
$num2 = ($_POST['Width']);
$area = 2*($num1 + $num2);
return $area;
}
echo "Your rectangle circumference is: " . calculateCircumference() . '<br />' . "Your rectangle area is: " . calculateArea();
}
?>
<!---------------- Form---------------->
<div class="form">
<h3></h3>
<form action="PHP-sida4.php" method="POST">
<p>Length: <input type="text" name="Length"value=""></p>
<p>Width: <input type="text" name="Width"value=""></p>
<input type="submit" name="CalcBT" value="Calculate">
</form>
长度:
宽度:
我需要$area的返回值以及我在底部的回音,以便在第一个函数中实际打印(CalculateCircumReference)好的,如果我答对了你的问题,需要返回区域和一些其他文本以及区域 让我们从一些房屋清理开始,因此可以将
$area
全局变量重命名为类似$results
的其他变量,它将是一个数组或对象。简单地说
使用关联数组,例如:
$results = [
'area' => null,
'text' = null
];
因此,在调用echo之前,您将从计算函数更新$results['area']
,并更新$results['text']
,因此可能会将回显文本提取到另一个变量
现在,您可以使用区域和文本访问文件中的任意位置$results:
要在CalculateArea()
函数下更具表现力,请执行以下操作:
$results['area'] = $area;
回显文本也是如此。您可以在函数中使用
echo
而不是return
。要调用它们,只需使用function()代码>无任何其他关键字:
function calculateCircumference () {
$num1 = ($_POST['Length']);
$num2 = ($_POST['Width']);
$circ = $num1 + $num2;
echo $circ;
}
function calculateArea () {
$num1 = ($_POST['Length']);
$num2 = ($_POST['Width']);
$area = 2*($num1 + $num2);
echo $area;
}
echo "Your rectangle circumference is: " ;
calculateCircumference() ;
echo '<br />' ;
echo "Your rectangle area is: " ;
calculateArea();
函数计算循环引用(){
$num1=($_POST['Length']);
$num2=($_POST['Width']);
$circ=$num1+$num2;
echo$circ;
}
函数calculateArea(){
$num1=($_POST['Length']);
$num2=($_POST['Width']);
$area=2*($num1+$num2);
回声区;
}
回声“你的矩形周长是:”;
CalculateCircumReference();
回声“
”;
echo“您的矩形区域是:”;
计算earea();
您可以在函数中回显所需的任何内容,但在调用函数之前,它不会显示
<?php
if (isset($_POST['CalcBT'])) {
global $area;
function calculateCircumference () {
$num1 = ($_POST['Length']);
$num2 = ($_POST['Width']);
$circ = $num1 + $num2;
// return $circ;
echo "Your rectangle circumference is: " . $circ . '<br />' . "Your rectangle area is: " . calculateArea();
return;
}
function calculateArea () {
$num1 = ($_POST['Length']);
$num2 = ($_POST['Width']);
$area = 2*($num1 + $num2);
return $area;
}
calculateCircumference();
}
?>
我希望这有帮助 您可以在任何地方回显任何内容,无论是函数内部还是外部。如果echo
未执行,则可能是出现错误,或者可以找到echo
的行未执行
在我们的例子中,您已经删除了函数后面的echo
,这恰好是调用它们的唯一位置。将$area
作为参数传递给函数:函数calculateArea($area){…}
@FelippeDuarte你如何将一个值传递给一个计算该值的函数?@FelippeDuarte对此有点困惑,因为它是同一个东西不?他正在使用global$area
,我想他已经在某个地方有了它。`$num1=$\u POST['Length']??如果没有在没有任何警告的情况下定义,0`会将$num1设置为0。omfg。。。那奏效了,我觉得自己太傻了。非常感谢你的帮助!那你能接受我的回答吗?