Как файл с текстом преобразить в массив

157
05 апреля 2022, 00:30

Есть файл с текстом "5 4 6 3 51 23 43 10 12 21".Нужно сделать со всех цифр массив и что бы каждое число было отдельно.

<?php
 error_reporting(-1);
function putArr() {
$files = file('mass.txt');  //сам файл с цифрами
foreach($files as $file){   // думал нужно через foreach, но все слипается в одну строку
    echo $file;
}
}
putArr();
?>
Answer 1

Разбить строку на массив:

$arr = explode(" ", $files);

Answer 2

Например, используя регулярки:

$text = '5 4 6 3 51 23 43 10 12 21';
preg_match_all('/\d+/usi', $text, $matches);
print_r($matches[0]);

Или с помощью функции explode:

$text = '5 4 6 3 51 23 43 10 12 21';
print_r(explode(" ", $text));

Результат:

Array
(
    [0] => 5
    [1] => 4
    [2] => 6
    [3] => 3
    [4] => 51
    [5] => 23
    [6] => 43
    [7] => 10
    [8] => 12
    [9] => 21
)
Answer 3

Если хотите получить массив чисел с типом STRING то:

function putArr() {
    $files = file('mass.txt');  //сам файл с цифрами
    return explode(' ', $files[0]);
}
$res = putArr();

Если нужно преобразовать к типу INT:

function putArr() {
    $files = file('mass.txt');  //сам файл с цифрами
    return array_map(static function ($string) {return (int)$string; }, explode(' ', $files[0]));
}
$res = putArr();
READ ALSO
Не видит данные из функций

Не видит данные из функций

Есть некая страница 'workerphp' на которую поступают данные методом пост, которые принимаются таким:

140
Сделать переменные с учётом MySQL

Сделать переменные с учётом MySQL

Так же используется мой старый код с MySql на php:

177
Laravel. Не записываются данные в базу

Laravel. Не записываются данные в базу

Делаю на проекте 3 типа содержимого: категории, статьи и страницыКатегории и статьи создал, между собой связал и все хорошо

208
Символы в регулярных выражениях [дубликат]

Символы в регулярных выражениях [дубликат]

Два вопроса за день это конечно ммммм, но не могу не спросить:

90