我正在尝试使用 php 读取多个数字用空格分隔的行。最初我尝试使用 fscanf 但问题是,由于 fscanf 一次读取一行,它只读取第一个数字。我很困惑该怎么办。
样品输入 20 30 -5987 456 523
我正在尝试使用 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);
?>
$input = trim(fgets(STDIN));
$arr = explode(" ", $input);
foreach($arr as &$number){
$number = (int)$number;
}
如果您想从“fopen”函数用户“trim”函数或使用 trim 函数环绕变量中消除空格。例子 :
echo "Please enter series limit : ";
$handles = fopen ("php://stdin","r");
$n = trim(fgets($handles));
所以在这里我们可以删除字符之间以及末尾的空格。