как поставить данные в массив php из внешнего файла?

0

Я использую phplot для построения графика на веб-странице, и у меня есть для него следующий код,

   <?php
     //Include the code
    require_once 'C:/xampp/htdocs/phplot-6.1.0/phplot.php';

     //Define the object
     $plot = new PHPlot();

    //Define some data

     $example_data = array(
     array('a',3),
     array('b',5),
     array('c',7),
     array('d',8),
     array('e',4),
     array('f',6),
      array('g',7)
      );
     $plot->SetDataValues($example_data);

     //Turn off X axis ticks and labels because they get in the way:
     $plot->SetXTickLabelPos('none');
     $plot->SetXTickPos('none');

      //Draw it
      $plot->DrawGraph();
       ?>

я не хочу определять данные как в $ example_data, но я хочу прочитать или загрузить его из внешнего файла, такого как txt или json, пожалуйста, предложите, как это сделать, и каков тип внешнего файла, который будет загружен?

Теги:

3 ответа

4

Да, ты можешь:

$file = 'your.json';
$example_data = json_decode( @file_get_contents( $file ) );

Ваш.json (например):

[["a",3],["b",5],["c",7],["d",8],["e",4],["f",6],["g",7]]

обновлено!

для создания динамического json файла:

$data = array();

$data[] = array( 'a' , 3 );
$data[] = array( 'b' , 1 );
$data[] = array( 'c' , 2 );
$data[] = array( 'd' , 4 );
$data[] = array( 'e' , 8 );
$data[] = array( 'f' , 6 );
$data[] = array( '6' , 7 );

echo json_encode( $data );

другой путь :

make_data.php:

$data = array();

$data[] = array( 'a' , 3 );
$data[] = array( 'b' , 1 );
$data[] = array( 'c' , 2 );
$data[] = array( 'd' , 4 );
$data[] = array( 'e' , 8 );
$data[] = array( 'f' , 6 );
$data[] = array( '6' , 7 );

return $data;

и для чтения:

$example_data = include( 'make_data.php' );
  • 0
    спасибо, у меня уже есть это решение, но я уверен насчет формата или содержимого этого your.json, я пробовал все виды форматов, чтобы соответствовать этому виду массива $ example_data, но я не могу его получить, мне нужно точный формат для этого массива, чтобы phplot работал, иначе он не работает, можете ли вы помочь с этим?
  • 0
    @Sachin обновленный ответ, смотрите снова
Показать ещё 4 комментария
0

То, что кажется довольно распространенным решением, - это просто вернуть массив php.

include.php:

<?php
return array(14, 34, 342, 4252);

index.php:

<?php

$data=include('include.php');
0

Как это?

   <?php
     //Include the code
    require_once 'C:/xampp/htdocs/phplot-6.1.0/phplot.php';

     //Define the object
     $plot = new PHPlot();

    //Define some data

     $example_data = json_decode(file_get_contents("some_external_file.json"),true);
     $plot->SetDataValues($example_data);

     //Turn off X axis ticks and labels because they get in the way:
     $plot->SetXTickLabelPos('none');
     $plot->SetXTickPos('none');

      //Draw it
      $plot->DrawGraph();
       ?>


some_external_file.json

{"a":3,"b":5,"c":7,"d":8,"e":4,"f":6,"g":7};

Ещё вопросы

Сообщество Overcoder
Наверх
Меню