2014-02-08 131 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單元格引用 –