Code Duplication    Length = 13-16 lines in 2 locations

classes/HelperArray.php 1 location

@@ 214-229 (lines=16) @@
211
   * @param array &$array
212
   * @param int   $level
213
   */
214
  public static function array_repack(&$array, $level = 0) {
215
    if (!is_array($array)) {
216
      return;
217
    }
218
219
    foreach ($array as $key => &$value) {
220
      if ($value === null) {
221
        unset($array[$key]);
222
      } elseif ($level > 0 && is_array($value)) {
223
        static::array_repack($value, $level - 1);
224
        if (empty($value)) {
225
          unset($array[$key]);
226
        }
227
      }
228
    }
229
  }
230
231
232
  /**

classes/classSupernova.php 1 location

@@ 221-233 (lines=13) @@
218
  }
219
220
  // Перепаковывает массив на заданную глубину, убирая поля с null
221
  public static function array_repack(&$array, $level = 0) {
222
    // TODO $lock_table не нужна тут
223
    if(!is_array($array)) return;
224
225
    foreach($array as $key => &$value) {
226
      if($value === null) {
227
        unset($array[$key]);
228
      } elseif($level > 0 && is_array($value)) {
229
        static::array_repack($value, $level - 1);
230
        if(empty($value)) unset($array[$key]);
231
      }
232
    }
233
  }
234
235
236
  // TODO Вынести в отдельный объект