您好,我只是从编码开始冒险,对此有疑问。
$element are numbers: 1,5,10,20.
$liczba = tab[0] -
,则$liczba
的值为1
。
因此,如果$element>$liczba,
和liczba
为1, then tab[0]
-1
不符合该标准。
那么为什么我回显$liczba
时得到的所有元素都为1?
第二个问题。为什么当我在{]括号之外回声$liczba
时,我只会得到20个结果,而不是1(不应在此处出现),5,10,20?
答案可能很明显,但我无法弄清楚。
<?php
$tab = array("1", "5", "10", "20");
$liczba = $tab[0];
foreach ($tab as $element)
{
if($element>$liczba)
$liczba = $element;
echo $liczba;
}
echo $liczba;
?>
答案 0 :(得分:1)
您已经忘记在if语句后放置括号{},这意味着比较未使用,因此将显示所有数据。
$tab = array(1, 5, 10, 20);
foreach ($tab as $element) {
if ($element > $tab[0]) {
echo $element . ", ";
}
}
我还通过删除不必要的变量简化了您的代码。
最佳做法: 我相信您应该使用适合您所比较的类型:
$tab = array("1", "5", "10", "20");
这将提高代码的可读性。
$tab = array(1, 5, 10, 20);