我试图在 PHP 中左旋转一个数组 2 次。它工作正常,但由于某种未知原因,数组中有一个空白区域。这是我的代码:
$a_temp = fgets($handle);
$a = explode(" ",$a_temp);
for($i = 0; $i < 2; $i++){
print_r($a);
array_unshift($a, array_pop($a));
print_r($a);
}
文件有这样的内容:
1 2 3
现在我得到的输出是:
Array
(
[0] => 1
[1] => 2
[2] => 3
)
Array
(
[0] => 3
[1] => 1
[2] => 2
)
Array
(
[0] => 3
[1] => 1
[2] => 2
)
Array
(
[0] => 2
[1] => 3
[2] => 1
)
如您所见,每次执行旋转时,它都会在其中引入一个空格,并且在打印数组期间,它会显示为换行符。知道我做错了什么吗?
最佳答案
正如@cHao ans @Kulvar 所指出的,您的“3”元素实际上是“3\n”,因为 fgets
返回的行以 \n
这是正常的。
将 $a = explode("",$a_temp);
替换为 $a = explode("",trim($a_temp));
就可以了固定的。适用于任何字符串,无论是否为数字
关于PHP 在 PHP 中左旋转数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41876505/