我正在尝试做一些非常基本的算法,我会挂断电话。我从这样的URL中提取变量:
http://mysite.com/page.php?var1=100&var=5
这是我正在使用的基本/page.php代码:
<?php
$var1 = "var1";
$var2 = "var2";
$divided_amount = $var1/$var1;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Derp</title>
</head>
<body style="background-color: #fff; text-align: center;">
<div style="text-align: center; width: 1000px; background-color: #fff; margin: auto;">
<p>This should be the divided amount: <?php echo $divided_amount ?> </p>
</body>
</html>
但是,我最终收到此错误消息:
Warning: Division by zero in /derp.php on line 4
这甚至可以用传递的变量吗?如果是的话,我哪里错了?非常感谢任何帮助!
答案 0 :(得分:1)
问:这个(PHP算术)甚至可以用传递的变量吗?
答:当然。
问:我哪里出错了?
答:您正在为变量分配字符串(“var1”),然后尝试对它们进行算术运算。
请改为尝试:
<?php
$var1 = 4;
$var2 = 2;
$divided_amount = $var1/$var1;
?>
至少,您可能希望在执行算术之前使用is_numeric()进行测试:
答案 1 :(得分:0)
您正在将字符串除以另一个字符串。尝试用以下代码替换PHP代码:
<?php
$var1 = $_GET["var1"];
$var2 = $_GET["var2"];
if(is_numeric($var1) && is_numeric($var2) && $var2 != 0)
{
// Perform division only if the variables are numeric and $var2 is not 0
$divided_amount = $var1/$var2;
}
else
{
// Value to be displayed if division is not possible.
$divided_amount = 0;
}
?>
答案 2 :(得分:0)
您需要通过$_GET
访问您的变量
例如:
<?php
$sum = 0;
if (isset($_GET['var1']) && isset($_GET['var'])) {
$var1 = $_GET['var1'];
$var = $_GET['var'];
$sum = $var1 / $var;
}
?>