Search code examples
phparraysinputexternal

PHP - Load data to array


is possible load data to array from .txt?

This is my .php file:

<?php

    $file = file_get_contents('data.txt');
    $data = array(

    $file;

    );

?>

This is data.txt file:

    "1" => array('code', 'name', 'surname', 'email', 'phone', 'type', 'datetime', 'place1', 'place2', 'number1', 'number2', 'data1', 'data2', 'data3'),  
    "2" => array('code', 'name', 'surname', 'email', 'phone', 'type', 'datetime', 'place1', 'place2', 'number1', 'number2', 'data1', 'data2', 'data3'),  
    "3" => array('code', 'name', 'surname', 'email', 'phone', 'type', 'datetime', 'place1', 'place2', 'number1', 'number2', 'data1', 'data2', 'data3') 

But it doesn´t work. Thanks for help.


Solution

  • There are a number of better ways to do this.

    With JSON

    data.json:

    {
      "1": ['code', 'name', 'surname', 'email', 'phone', 'type', 'datetime', 'place1', 'place2', 'number1', 'number2', 'data1', 'data2', 'data3'],
      "2": 'code', 'name', 'surname', 'email', 'phone', 'type', 'datetime', 'place1', 'place2', 'number1', 'number2', 'data1', 'data2', 'data3',
      "3": 'code', 'name', 'surname', 'email', 'phone', 'type', 'datetime', 'place1', 'place2', 'number1', 'number2', 'data1', 'data2', 'data3'
    }
    

    PHP to read it:

    <?php
      $data = json_decode(file_get_contents('data.json'), true);
      var_dump($data)
    

    With a PHP data file

    data.php

    <?php
    return [
        "1" => array('code', 'name', 'surname', 'email', 'phone', 'type', 'datetime', 'place1', 'place2', 'number1', 'number2', 'data1', 'data2', 'data3'),  
        "2" => array('code', 'name', 'surname', 'email', 'phone', 'type', 'datetime', 'place1', 'place2', 'number1', 'number2', 'data1', 'data2', 'data3'),  
        "3" => array('code', 'name', 'surname', 'email', 'phone', 'type', 'datetime', 'place1', 'place2', 'number1', 'number2', 'data1', 'data2', 'data3')
    ];
    

    code to read it:

    <?php
    $data = include('data.php');
    

    You could also use php's serialize, but it makes the data format a bit less readable.