У меня есть данные, например:

>test
AAABBB
CCCDDD
EEEFFF

Я хочу взять один индексный массив. если в "print_r" будет так:

Array
(
    [0] => AAABBBCCCDDDEEEFFF
)

У меня есть такой код:

$dataFQ = "data/fq.txt";

        $handleFQ = fopen($dataFQ, "r");
        if ($handleFQ)
        {
            while (($lineFQ = fgets($handleFQ, 4096)) !== false)
            {
                $lineFQ = explode("\t", $lineFQ);

                if (!empty($lineFQ[0][0]) && $lineFQ[0][0] != '>')
                {
                    $new_dataFQ[] = $lineFQ;
                }
            }
            if (!feof($handleFQ))
            {
                echo "Error: unexpected fgets() fail\n";
            }
            fclose($handleFQ);
        }
        echo '<pre>';
        print_r($new_dataFQ);
        echo '</pre>';

Как изменить его, чтобы он был массивом?

1
user3193610 5 Апр 2014 в 07:11

2 ответа

Лучший ответ

Можно было бы сделать попроще ...

<?php
$new_arr[] = implode('',(array_map('trim',array_slice(file('data/fq.txt'),1))));
print_r($new_arr);

OUTPUT :

Array
(
    [0] => AAABBBCCCDDDEEEFFF
)
1
Shankar Damodaran 5 Апр 2014 в 03:28

Ты можешь это сделать:

$data = file_get_content('data/fq.txt');
$trans = array('>test'=>'', "\n"=>'', "\r"=>'', ' '=>''); // and whatever you want
$result = array(strtr($data, $trans));
1
Casimir et Hippolyte 5 Апр 2014 в 03:32