如何从php中的文件中读取空格分隔的整数

时间:2013-10-10 05:48:30

标签: php

我正在尝试使用php读取多个数字按空格分隔的行。最初我尝试使用fscanf然而问题是,因为fscanf一次读取一行,它只读取第一个数字。我很困惑该怎么做。

示例输入 20 30 -5987 456 523

3 个答案:

答案 0 :(得分:8)

此案例的最佳方法是使用爆炸和文件读取的组合。该策略最初作为字符串读取整行。然后使用explode将所有数字存储在数组中。但是在这种情况下,数组稍后会出现一个字符串数组,我们可以将数组元素的类型从String更改为整数。这是如何

<?php
$_fp = fopen("php://stdin", "r");
fscanf($_fp, "%d\n", $count);
$numbers = explode(" ", trim(fgets($_fp)));
foreach ($numbers as &$number)
{
    $number = intval($number);
}
sort($numbers);
?>

答案 1 :(得分:0)

$input = trim(fgets(STDIN));
$arr = explode(" ", $input);      
foreach($arr as &$number){
    $number = (int)$number;
}

答案 2 :(得分:0)

如果你想消除&#34; fopen&#34;功能用户&#34; trim&#34;具有修剪功能的功能或环绕变量。 示例:

echo "Please enter series limit : ";
$handles = fopen ("php://stdin","r");
$n = trim(fgets($handles));

所以在这里我们可以删除字符之间以及最后的空格。