2013-10-10 5 views
4

Я пытаюсь прочитать строку, где несколько чисел были разделены пробелом с помощью php. Первоначально я пытался использовать fscanf, но проблема в том, что fscanf читает по одной строке за раз, он только считывает первое число. Я смущен, что делать.Как читать целые числа, разделенные пробелом из файла в php

образец входного 20 30 -5987 456 523

ответ

7

Наилучший подход для этого случая использовать сочетание взрываются и чтения файлов. Первоначально стратегия считывается всей строкой в ​​виде строки. Затем используйте explode для хранения всего числа в массиве. Однако в этом случае массив будет строковым массивом позже, мы можем изменить тип элемента массива из String в integer. Вот как

<?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); 
?> 
0
$input = trim(fgets(STDIN)); 
$arr = explode(" ", $input);  
foreach($arr as &$number){ 
    $number = (int)$number; 
} 
0

Если вы хотите, чтобы устранить пробелы от пользователя функции «Еореп» «обрезки» функции или окружать переменную с отделкой функции. Пример:

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

Итак, мы можем удалить пустое пространство между персонажами, а также в конце.

Смежные вопросы