当前位置: 首页 > 知识库问答 >
问题:

if子句不能正常工作

赏彭薄
2023-03-14

我有一个问题。我写了代码,需要指出数组的元素比数组的下一个元素大。您可以在输出图片上看到数组$arr应该只包含元素70,因为$ar[294]=70

这怎么可能呢?

$ar = array();
for ($i=0; $i < sizeof($retcikonacno); $i++) {
    if ($retcikonacno[$i]["n2"] >= 1001 && $retcikonacno[$i]["n2"] <= 1013) {
        array_push($ar, $retcikonacno[$i]["vpont"]);
    }   
}

echo "ar=";
echo "</br>";
print_r($ar);

echo "</br>";
echo "-------------------";
echo "</br>";
echo "-------------------";

echo "</br>" . "</br>";

$arr = array();

$size = sizeof($ar)-1;
for ($i=0; $i < $size; $i++) {
    if ($ar[$i] > $ar[$i+1]) {
        array_push($arr, $ar[$i]);
    }
}

echo "arr=";
echo "</br>";
print_r($arr);

输出:


共有1个答案

傅朗
2023-03-14

我在咨询我的导师,他解决了这个问题。

他说,php可能(由于未知原因,错误地)读取了$ar[$i]和$ar[$1]的内存位置,而不是数组的实际值。所以if子句无效。

解决方案:他没有像我用array_push($ar,$retcikonacno[$i]["vpont"])那样创建array $ar,而是使用了函数intval,所以是array_push($ar,intval($ retcikonacno[$ I][" vpont "]))。这创造了一系列正确的价值观。

 类似资料:
  • 我有一个RecyclizerView,它列出了来自服务器的数据,它必须根据条件以不同的方式显示每行数据。我的数据是票证消息的列表。如果消息是从用户发送的,则其背景必须为灰色,如果来自代理,则必须为蓝色。此外,如果此邮件有附件,则必须显示下载图标。这是我的适配器代码: 颜色设置正确,但是当我使用if子句设置图像查看附件时,没有附件且为空的邮件将显示该附件图标!我是否也应该在 getItemType

  • 我正试图在按下某个按钮时弹出一个警报对话框。我首先使用了Android Developer的示例代码而不是'这不起作用,所以我根据在这个站点上发现的情况进行了更改,但是现在我的程序在按下按钮后被迫停止。 就你的知识而言,这是在第二个不同于主要的活动中完成的。不确定这是否重要.... ‘ 碰撞日志:“03-25 19:34:24.373:E/AndroidRuntime(18828):致命异常:ma

  • 2,错误{org.apache.directory.server.LDAP.ldapserver}-ERR_171无法将LDAP服务(10,389)绑定到服务注册表。java.net.BindException:已在使用的地址 请帮忙谢谢 --------提示------------------- JAVA_HOME环境变量设置为/opt/java CARBON_HOME环境变量设置为/mnt/1

  • 我正在做一个类似生存的游戏,我有两种类型的碰撞,一种是玩家的敌人,另一种是敌人身上的子弹。我也有一个健康栏,由于某些原因,在picbox被移除后,健康仍然下降,就像敌人与玩家互动一样。 这是子弹碰撞代码的一个块(所有8个方向的所有代码都是相同的) 这是敌方与玩家碰撞的暗号

  • 我有一个任务,要编写一个程序,该程序使用triangleType方法,我必须编写该方法,从用户那里获取三个int输入并输出三角形类型。在该方法中,我首先需要按升序对整数排序,以便我需要使用的比较能够正常工作。我知道我正确地完成了代码中的排序部分,因为我甚至在开始尝试确定三角形类型之前就对其进行了测试。我需要使用这些比较来找到三角形类型:“如果A B

  • null 获取http://localhost:8888/image-service/default: 获取http://localhost:8888/image-service/prod 我在REST应用程序中激活了配置文件,但始终显示默认配置文件中的值。