PHP 在 PHP 中左旋转数组

标签 php arrays

我试图在 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/

相关文章:

php - 错误处理PHP Oracle数据库

php - 您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,以了解在附近使用的正确语法

PHP - 自动创建多维数组

php - MySQL 规模问题 - 触发器/更新/监控表

更改 char 数组的值

php - Bootstrap 中的选项卡导航

使用 JNI 将 C 数组复制到 Java 数组

JavaScript 从数组中删除对象并返回它

c - 找出字符串数组长度和每个字符串长度

javascript - 使用数组参数构造对象函数