我有一个简单的数据格式,如下所示:
stuff/stuff/stuff
一个例子是:
data/test/hello/hello2
为了检索某条数据,可以使用我的解析器,它会尝试执行以下操作:
在data/test/hello/hello2
您要检索data/test
(即hello
)下的数据。我的解析器代码如下:
function getData($data, $pattern)
{
$info = false;
$dataLineArray = explode("\n", $data);
foreach($dataLineArray as &$line)
{
if (strpos($line,$pattern) !== false) {
$lineArray = explode("/", $line);
$patternArray = explode("/", $pattern);
$iteration = 0;
foreach($lineArray as &$lineData)
{
if($patternArray[$iteration] == $lineData)
{
$iteration++;
}
else
{
$info = $lineData;
}
}
}
}
return $info;
}
但是,它似乎总是返回最后一项,在这种情况下是hello2
:
echo getData("data/test/hello/hello2", "data/test");
给我;
hello2
我究竟做错了什么?