我有以下代码:
$testString = "abcdef"
for ($ia=$testString.length-1; $ia -gt 0; $ia - 2) {
$testString[$ia]
}我需要输出"fedcba“,但一直得到”fffffffffffff...“
如何通过此for循环格式中的每个字符反转testString输出?
发布于 2020-01-04 06:05:58
为什么要使用$ia - 2?
您需要将其更改为$ia--,以便它一次递减一个。
另外,将$ia -gt 0更改为$ia -ge 0,这样它就可以到达最后一个索引。
发布于 2020-01-04 08:38:23
另一种方法是在数组索引中使用反向范围。它实际上应该从长度-1开始,但这样更容易,而且也有效。
$teststring = 'abcdef'
$teststring[$teststring.length..0]
f
e
d
c
b
a发布于 2020-01-04 06:03:47
你差一点就成功了。
$testString = "abcdef"
for ($ia=$testString.length-1; $ia -ge 0; $ia--) {
$testString[$ia]
}你可以使用$ia--来减少,你应该会得到你的结果。此外,当您希望捕获数组的index 0时,应使用大于或等于0的-ge。
另外,反之亦然,您可以执行以下操作:
$testString = "abcdef"
for ($ia=$testString.length; $ia -gt -1; $ia--) {
$testString[$ia]
}这两种方法都可以,但我更喜欢第二种,因为它更容易阅读。

https://stackoverflow.com/questions/59585775
复制相似问题