2014-02-08 3 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 –

Смежные вопросы