[ Index ]

PHP Cross Reference of phpBB-3.2.11-deutsch

title

Body

[close]

/vendor/symfony/polyfill-php55/ -> Php55ArrayColumn.php (source)

   1  <?php
   2  
   3  /*
   4   *   Copyright (c) 2013 Ben Ramsey <http://benramsey.com>
   5   *
   6   *   Permission is hereby granted, free of charge, to any person obtaining a
   7   *   copy of this software and associated documentation files (the "Software"),
   8   *   to deal in the Software without restriction, including without limitation
   9   *   the rights to use, copy, modify, merge, publish, distribute, sublicense,
  10   *   and/or sell copies of the Software, and to permit persons to whom the
  11   *   Software is furnished to do so, subject to the following conditions:
  12   *
  13   *   The above copyright notice and this permission notice shall be included in
  14   *   all copies or substantial portions of the Software.
  15   *
  16   *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  17   *   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  18   *   FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  19   *   AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  20   *   LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
  21   *   FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
  22   *   DEALINGS IN THE SOFTWARE.
  23   */
  24  
  25  namespace Symfony\Polyfill\Php55;
  26  
  27  /**
  28   * @internal
  29   */
  30  final class Php55ArrayColumn
  31  {
  32      public static function array_column(array $input, $columnKey, $indexKey = null)
  33      {
  34          $output = array();
  35  
  36          foreach ($input as $row) {
  37              $key = $value = null;
  38              $keySet = $valueSet = false;
  39  
  40              if (null !== $indexKey && array_key_exists($indexKey, $row)) {
  41                  $keySet = true;
  42                  $key = (string) $row[$indexKey];
  43              }
  44  
  45              if (null === $columnKey) {
  46                  $valueSet = true;
  47                  $value = $row;
  48              } elseif (\is_array($row) && \array_key_exists($columnKey, $row)) {
  49                  $valueSet = true;
  50                  $value = $row[$columnKey];
  51              }
  52  
  53              if ($valueSet) {
  54                  if ($keySet) {
  55                      $output[$key] = $value;
  56                  } else {
  57                      $output[] = $value;
  58                  }
  59              }
  60          }
  61  
  62          return $output;
  63      }
  64  }


Generated: Wed Nov 11 20:33:01 2020 Cross-referenced by PHPXref 0.7.1