Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中从文件中读取以空格分隔的整数_Php - Fatal编程技术网

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

如何在php中从文件中读取以空格分隔的整数,php,Php,我试图读一行,其中多个数字是用php空格分隔的。起初我尝试使用fscanf,但问题是,由于fscanf一次只能读取一行,所以它只能读取第一个数字。我不知道该怎么办 样本输入 20 30-5987 456 523对于这种情况,最好的方法是结合使用分解和文件读取。策略最初将整行作为字符串读取。然后使用explode将所有数字存储在一个数组中。但是,在这种情况下,数组将是字符串数组,稍后我们可以将数组元素的类型从字符串更改为整数。这里是如何 <?php $_fp = fopen("php://s

我试图读一行,其中多个数字是用php空格分隔的。起初我尝试使用fscanf,但问题是,由于fscanf一次只能读取一行,所以它只能读取第一个数字。我不知道该怎么办

样本输入
20 30-5987 456 523

对于这种情况,最好的方法是结合使用分解和文件读取。策略最初将整行作为字符串读取。然后使用explode将所有数字存储在一个数组中。但是,在这种情况下,数组将是字符串数组,稍后我们可以将数组元素的类型从字符串更改为整数。这里是如何

<?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);
?>

如果要消除“fopen”功能中的空白,请使用“trim”功能或带有trim功能的环绕变量。 例如:

echo "Please enter series limit : ";
$handles = fopen ("php://stdin","r");
$n = trim(fgets($handles));
因此,在这里,我们可以删除字符之间以及结尾处的空白

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