2014-02-08 134 views
0

我正在使用PHPExcel,我有一个叫做$sheetData的多维数组。我希望能够搜索字符串D650搜索阵列 - PHPExcel

例如,如果字符串D650$sheetData[12][E]我希望它返回[12][E]。我似乎无法找到PHPExcel的搜索功能。我试过下面的代码,但我只获得一个值,我需要所有的值。如果代码不是解决此问题的最佳方法,请告诉我。由于

function searchForId($id, $array) { 
    foreach ($array as $key => $val) { 

     $letter = "A"; 

     for($i = 1; $i<= 26; $i++) 
     { 

      if ($val[$letter] === $id) { 
       return $key; 
      } 

      $letter++; 
     } 

    } 
    return null; 
} 

$id = searchForId('Denter code here650', $sheetData); 
echo $id; 
+0

注意PHPExcel不提供搜索功能的阵列来搜索,也没有提供一个发现的数组在工作表函数中,但在您自己的代码中实现并不困难 –

回答

0
function searchForId($id, $array) { 
    foreach ($array as $row => $val) { 
     $letter = "A"; 
     for($i = 1; $i<= 26; $i++) { 
      if ($val[$letter] === $id) { 
       return '[' . $row .'][' . $letter . ']'; 
      } 
      $letter++; 
     } 
    } 
    return null; 
} 

虽然它可能会更有用返回的行和列

function searchForId($id, $array) { 
    foreach ($array as $row => $val) { 
     $letter = "A"; 
     for($i = 1; $i<= 26; $i++) { 
      if ($val[$letter] === $id) { 
       return array(
        'row' => $row, 
        'column' => $letter 
       ); 
      } 
      $letter++; 
     } 
    } 
    return null; 
} 
+0

返回数组正是我所需要的。我如何回应数组? '$ id = searchForId('D650',$ sheetData); echo $ id [0];' – user3287971

+0

'echo $ id ['row'];''和'echo $ id ['column'];'分别; 'echo $ id ['column']。 ['row'];'将两者连接成一个实际的Excel单元格引用 –