我有一个差异值的表,如下所示:
我总是希望获得相同的价值,即" Page:"除了该表因文档而异。价值" Page:"可以在第8位和第11位等 我该怎么做才能解决这个问题?
谢谢。
答案 0 :(得分:0)
我的方法是......
foreach
找到后,获取值并可选择break
离开循环,除非您期望在搜索的数组中有多个“Pages:”元素。
$array = array(
"Producer: Ascensio System",
"Page size: 589 x 941",
"Pages: 3",
"File size: 12651 bytes"
);
foreach ($array as $str){
if(preg_match('/^Pages:/',$str)){
echo($str);
break;
}
}
答案 1 :(得分:0)
我会使用preg_grep来搜索带有正则表达式的数组中的值。
$array = array(
"Producer: Ascensio System",
"Page size: 589 x 941",
"Pages: 3",
"File size: 12651 bytes"
);
$arrayValue = preg_grep('/\b(Pages)\b/i', $array);
$arrayKey = count($arrayValue) > 0 ? key($arrayValue) : false;
if ($arrayKey) {
echo 'Found value <'.$arrayValue[$arrayKey].'> at key '.$arrayKey;
} else {
echo 'Not found';
}
请注意$arrayKey
和$arrayValue
与第一个正则表达式匹配相关。