【发布时间】:2018-02-13 11:30:17
【问题描述】:
这是我的第一篇文章,所以请宽容/宽容。
这个数组是一个刺绣程序的步骤枚举
而且我必须在非空步骤之间保持“0”值,并且之后不要取空值
$oldArray = Array
("1278","1297","1278","1000","0","1000","1212","1001","1212","1278","1000",
"0","1297","1001","1000","0","1001","1278","1000","1001","1001","1278",
"0","1000","1001","0","0","0","0","0","0","0","0","0","0",
"0","0","0","0","0","0","0","0","0","0","0","0","0","0"
);
我第一次反转它并找到第一个非空值:
$arrayReversed = array_reverse($oldArray);
$lastKey = 48;
foreach ($arrayReversed as $key => $value) {
# If the value is not empty
if (!empty($value)) {
[FR] -> remplir un nouveau tableau avec les valeurs en partant de l'index "$key" jusqu'a "$lastKey"
[ENG] -> 用从第一个非空值的键到最后一个键的值填充一个新数组 编辑:这是我的错误
$sequencesFromEnd[] = array_slice($arrayReversed,$key,$lastKey);
我用这段代码更正了它:
$sequencesFromEnd = array_slice($arrayReversed,$key,$lastKey);
break;
}
$key++;
}
编辑:然后它就像我预期的那样工作!
然后我想“再次”反转具有值的数组以正确的顺序执行步骤并且此代码不起作用:
//First try
$stepsInRightOrder = array_reverse($sequencesFromEnd);
// Second try
//array_reverse($stepsInRightOrder);
第二次尝试评论了,因为它是无操作的。
不幸的是,数组保持原样在“foreach”循环中......
非常感谢提前!!
【问题讨论】:
-
不要发布文字图片,尤其是当文字是代码时。
-
阅读
array_reverse()。它不会更改输入数组,而是返回一个新数组。您的第二次尝试没有任何操作。 -
您的指示已被执行。
-
你发布了一些代码,中间有一段文字(看起来像是翻译的复制粘贴)。 “代码”显然无法编译,因为它发布在此处。而且,最重要的部分,你没有解释你想要实现什么。
-
这不是翻译者的复制/粘贴,是我自己的话。我将尝试更好地解释。
标签: php arrays array-reverse