我不是一个真正的Web开发人员,我正在尝试创建一个用于解析和显示实验数据的Web界面,所以如果这是一个非常简单的解决方案,我会道歉。我正在尝试从XML元素中获取数据并将其转换为可以使用GD绘制的PHP数值数组。到目前为止,我已经完成了XML创建,XML加载和GD绘图(我认为),但我需要的是将数据转换为PHP数组以完成的关键。
我有一个xml文件,其数字数据存储如下:
<?xml version="1.0" encoding="utf-8" ?>
<NotData>
<Data>0 1 2 3 4 5 6 7 8 9</Data>
</NotData>
我正在使用simplexml_load_file来读入数据文件。然后我拿出这样的数据:
$myData=$xmldata->NotData[0]->Data;
现在我有一个包含数据的对象,但我不知道如何将其转换为数字数组。
答案 0 :(得分:3)
考虑到您拥有该字符串,首先必须使用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);
我使用simplexml_load_string
,因为我的测试更简单;当然,您仍然可以使用simplexml_load_file
,正如您已经在做的那样。
然后,将包含数字的字段放入变量中:
$numbers_string = (string)$data->Data;
var_dump($numbers_string);
哪个可以帮到你:
string '0 1 2 3 4 5 6 7 8 9' (length=19)
然后,你可以使用explode
函数......好吧,将字符串分解为数组,使用空格作为分隔符:
$numbers_array = explode(' ', $numbers_string);
var_dump($numbers_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)
这似乎是你在等待的东西; - )