Объединение нескольких диммерных массивов по идентификатору в значении массива - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть большой массив multi dim, который я извлекаю из БД.

array(43593) {
  [0]=>
  array(4) {
    ["artnum"]=>
    string(5) "0422272221"
    ["ekprice"]=>
    string(5) "52.78"
    ["ekpriceist"]=>
    string(5) "52.78"
    ["lieferantnr"]=>
    string(7) "7000202"
  }
  [1]=>
  array(4) {
    ["artnum"]=>
    string(5) "04233337133333"
    ["ekprice"]=>
    string(5) "49.45"
    ["ekpriceist"]=>
    string(5) "49.45"
    ["lieferantnr"]=>
    string(7) "7000211"
  }

с другого сервера БД. Я извлекаю этот массив

array(73287) {
  [0]=>
  array(2) {
    ["ARTNUM"]=>
    string(5) "0422272221"
    ["QUALITAETSMERKMAL"]=>
    string(1) "p"
  }
  [1]=>
  array(2) {
    ["ARTNUM"]=>
    string(5) "04233337133333"
    ["QUALITAETSMERKMAL"]=>
    string(1) "m"
  }

Когда я освобождаю следующее от пользовательского интерфейса

foreach($aStockArticles as $aStockArticle) {

                foreach($aArticleStamm as $artikel)
                        {           
                            if($aStockArticle['artnum'] == $artikel['artnum'])
                            {
                                $aStockArticle['quality']  = $artikel['QUALITAETSMERKMAL'];
                            }
                        }   }

Я получаю

[строка 451] [код] [сообщение Максимальное время выполнения превышено 30 секунд]

Как вы можете видетьколичество статей и последовательность, в которой они упорядочены, могут отличаться друг от друга.

Поскольку у меня нет переменных среды доступа, я обычно выполняю простое объединение в запросе базы данных, но в этом случае это невозможно из-задва сервера базы данных.

ВОПРОС: Как объединить эти массивы в идентификатор (artnum)?

Значит, это выглядит следующим образом и остается в пределах времени исключения?

array(43593) {
  [0]=>
  array(4) {
    ["artnum"]=>
    string(5) "0422272221"
    ["ekprice"]=>
    string(5) "52.78"
    ["ekpriceist"]=>
    string(5) "52.78"
    ["lieferantnr"]=>
    string(7) "7000202"
    ["QUALITAETSMERKMAL"]=>
    string(1) "p"
  }
  [1]=>
  array(4) {
    ["artnum"]=>
    string(5) "04233337133333"
    ["ekprice"]=>
    string(5) "49.45"
    ["ekpriceist"]=>
    string(5) "49.45"
    ["lieferantnr"]=>
    string(7) "7000211"
    ["QUALITAETSMERKMAL"]=>
    string(1) "m"
  }
...