[ Index ]
 

Code source de GeekLog 1.4.1

Accédez au Source d'autres logiciels libres

title

Body

[fermer]

/system/pear/PHP/Compat/Function/ -> array_walk_recursive.php (source)

   1  <?php
   2  // +----------------------------------------------------------------------+

   3  // | PHP Version 4                                                        |

   4  // +----------------------------------------------------------------------+

   5  // | Copyright (c) 1997-2004 The PHP Group                                |

   6  // +----------------------------------------------------------------------+

   7  // | This source file is subject to version 3.0 of the PHP license,       |

   8  // | that is bundled with this package in the file LICENSE, and is        |

   9  // | available at through the world-wide-web at                           |

  10  // | http://www.php.net/license/3_0.txt.                                  |

  11  // | If you did not receive a copy of the PHP license and are unable to   |

  12  // | obtain it through the world-wide-web, please send a note to          |

  13  // | license@php.net so we can mail you a copy immediately.               |

  14  // +----------------------------------------------------------------------+

  15  // | Authors: Tom Buskens <ortega@php.net>                                |

  16  // |          Aidan Lister <aidan@php.net>                                |

  17  // +----------------------------------------------------------------------+

  18  //

  19  // $Id: array_walk_recursive.php,v 1.7 2005/01/26 04:55:13 aidan Exp $

  20  
  21  
  22  /**

  23   * Replace array_walk_recursive()

  24   *

  25   * @category    PHP

  26   * @package     PHP_Compat

  27   * @link        http://php.net/function.array_walk_recursive

  28   * @author      Tom Buskens <ortega@php.net>

  29   * @author      Aidan Lister <aidan@php.net>

  30   * @version     $Revision: 1.7 $

  31   * @since       PHP 5

  32   * @require     PHP 4.0.6 (is_callable)

  33   */
  34  if (!function_exists('array_walk_recursive')) {
  35      function array_walk_recursive(&$input, $funcname)
  36      {
  37          if (!is_callable($funcname)) {
  38              if (is_array($funcname)) {
  39                  $funcname = $funcname[0] . '::' . $funcname[1];
  40              }
  41              user_error('array_walk_recursive() Not a valid callback ' . $user_func,
  42                  E_USER_WARNING);
  43              return;
  44          }
  45  
  46          if (!is_array($input)) {
  47              user_error('array_walk_recursive() The argument should be an array',
  48                  E_USER_WARNING);
  49              return;
  50          }
  51  
  52          $args = func_get_args();
  53  
  54          foreach ($input as $key => $item) {
  55              if (is_array($item)) {
  56                  array_walk_recursive($item, $funcname, $args);
  57                  $input[$key] = $item;
  58              } else {
  59                  $args[0] = &$item;
  60                  $args[1] = &$key;
  61                  call_user_func_array($funcname, $args);
  62                  $input[$key] = $item;
  63              }
  64          }
  65      }
  66  }
  67  
  68  ?>


Généré le : Wed Nov 21 12:27:40 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics