1

I'm not really a web developer and I'm trying to make a web interface for parsing and displaying experimental data, so I apologize if this is a ridiculously easy solution. I'm trying to take data from an XML element and convert it into a PHP numerical array that I can plot using GD. So far, I have the XML creation, XML loading, and GD plotting finished (I think), but what I need is the key to converting the data into a PHP array to finish.

I have an xml file with numeric data stored like this:

<?xml version="1.0" encoding="utf-8" ?>
<NotData>
    <Data>0 1 2 3 4 5 6 7 8 9</Data>
</NotData>

I'm using simplexml_load_file to read in the data file. Then I pull out the data like this:

$myData=$xmldata->NotData[0]->Data;

Now I have an object with the data inside, but I'm not sure how to get this out into a numeric array.

1 Answer 1

3

Considering you have that string, you first have to load it using SimpleXML :

$str = <<<XML
<?xml version="1.0" encoding="utf-8" ?>
<NotData>
    <Data>0 1 2 3 4 5 6 7 8 9</Data>
</NotData>
XML;
$data = simplexml_load_string($str);

I used simplexml_load_string because it was simpler for my test ; of course, you can still use simplexml_load_file, as you are already doing.


Then, to get the field containing the numbers into a variable :

$numbers_string = (string)$data->Data;
var_dump($numbers_string);

Which gets you :

string '0 1 2 3 4 5 6 7 8 9' (length=19)


And, then, you can use the explode function to... well, explode... the string into an array, using a space as a separator :

$numbers_array = explode(' ', $numbers_string);
var_dump($numbers_array);

And you finally get this array :

array
  0 => string '0' (length=1)
  1 => string '1' (length=1)
  2 => string '2' (length=1)
  3 => string '3' (length=1)
  4 => string '4' (length=1)
  5 => string '5' (length=1)
  6 => string '6' (length=1)
  7 => string '7' (length=1)
  8 => string '8' (length=1)
  9 => string '9' (length=1)

Which seems to be what you were waiting for ;-)

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.