在数组中显示1个值

时间:2017-03-23 09:10:44

标签: php regex

我有一个差异值的表,如下所示:

enter image description here

我总是希望获得相同的价值,即" Page:"除了该表因文档而异。价值" Page:"可以在第8位和第11位等 我该怎么做才能解决这个问题?

谢谢。

2 个答案:

答案 0 :(得分:0)

我的方法是......

  • 使用foreach
  • 迭代数组
  • 测试'Pages:'
  • 的每个数组元素的开始
  • 找到后,获取值并可选择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与第一个正则表达式匹配相关。