【发布时间】:2015-12-03 19:21:45
【问题描述】:
我正在读取用户上传的 RTF 文件,然后我在每个 \pard 上分解该文件以获取每一行,然后将每行 preg_split 拆分为一个数组。然后我循环遍历数组以查找某个值并获取它旁边的数据。所有这一切都很好,但是多次寻找多个字符串的最佳方法是什么?这是我目前所拥有的:
$data = explode('\pard',$rtf);
foreach ($data as $item) {
$values = preg_split('/[\t]/', $item);
if (in_array('shipped yesterday', $values)){
$key = array_search('shipped yesterday', $values);
print $values[$key + 1];
}else{
print_r($values);
}
}
RTF 文件如下所示:
booked in yesterday 50 41 78
packaged yesterday 62 45 48
shipped yesterday 46 52 62
所以我上面的代码正在寻找“昨天发货”然后获取它旁边的第一个值,在本例中为 46。
对于“昨天预订”和“昨天打包”的其余值,最有效的方法是什么?
【问题讨论】:
-
查找哈希图,使用它们可能会得到一个非常有效的实现。