1. drupal
    1. 5
    2. 6
    3. 7
    4. 8
5 arg($index)
6 – 8 arg($index = NULL, $path = NULL)

Return a component of the current Drupal path.

When viewing a page at the path "admin/structure/types", for example, arg(0) returns "admin", arg(1) returns "structure", and arg(2) returns "types".

Avoid use of this function where possible, as resulting code is hard to read. In menu callback functions, attempt to use named arguments. See the explanation in for how to construct callbacks that take arguments. When attempting to use this function to load an element from the current path, e.g. loading the node on a node page, please use menu_get_object() instead.


$index The index of the component, where each component is separated by a '/' (forward-slash), and where the first component has an index of 0 (zero).

$path A path to break into components. Defaults to the path of the current page.

Return value

The component specified by $index, or NULL if the specified component was not found. If called without arguments, it returns an array containing all the components of the current path.

▾ 29 functions call arg()

aggregator_form_category_submit in modules/aggregator/
Process aggregator_form_category form submissions.
aggregator_form_feed_submit in modules/aggregator/
Process aggregator_form_feed() form submissions.
aggregator_page_category in modules/aggregator/
Menu callback; displays all the items aggregated in a particular category.
aggregator_page_last in modules/aggregator/
Menu callback; displays the most recent items gathered from any feed.
aggregator_page_rss in modules/aggregator/
Menu callback; generate an RSS 0.92 feed of aggregator items or categories.
aggregator_page_source in modules/aggregator/
Menu callback; displays all the items captured from a particular feed.
blog_node_view in modules/blog/blog.module
Implements hook_node_view().
dblog_init in modules/dblog/dblog.module
Implements hook_init().
filter_tips_long in modules/filter/
Menu callback; show a page with long filter tips.
form_test_clicked_button in modules/simpletest/tests/form_test.module
Form builder to test button click detection.
forum_form_alter in modules/forum/forum.module
Implements hook_form_alter().
menu_get_active_help in includes/
Returns the help associated with the active menu item.
menu_get_item in includes/
Get a router item.
node_block_list_alter in modules/node/node.module
Implements hook_block_list_alter().
openid_test_yadis_xrds in modules/openid/tests/openid_test.module
Menu callback; XRDS document that references the OP Endpoint URL.
openid_user_add_submit in modules/openid/
profile_block_view in modules/profile/profile.module
Implements hook_block_view().
profile_field_form in modules/profile/
Menu callback: Generate a form to add/edit a user profile field.
statistics_exit in modules/statistics/statistics.module
Implements hook_exit().
statistics_node_tracker in modules/statistics/
statistics_user_tracker in modules/statistics/
template_preprocess_html in includes/
Preprocess variables for html.tpl.php
template_preprocess_page in includes/
Preprocess variables for page.tpl.php
template_preprocess_profile_wrapper in modules/profile/profile.module
Process variables for profile-wrapper.tpl.php.
theme_test_exit in modules/simpletest/tests/theme_test.module
Implements hook_exit().
theme_test_init in modules/simpletest/tests/theme_test.module
Implements hook_init().
update_init in modules/update/update.module
Implements hook_init().
user_block_view in modules/user/user.module
Implements hook_block_view().
_trigger_normalize_user_context in modules/trigger/trigger.module
Loads associated objects for user triggers.


includes/, line 2669

function arg($index = NULL, $path = NULL) {
  // Even though $arguments doesn't need to be resettable for any functional
  // reasons (the result of explode() does not depend on any run-time
  // information), it should be resettable anyway in case a module needs to
  // free up the memory used by it.
  // Use the advanced drupal_static() pattern, since this is called very often.
  static $drupal_static_fast;
  if (!isset($drupal_static_fast)) {
    $drupal_static_fast['arguments'] = &drupal_static(__FUNCTION__);
  $arguments = &$drupal_static_fast['arguments'];

  if (!isset($path)) {
    $path = $_GET['q'];
  if (!isset($arguments[$path])) {
    $arguments[$path] = explode('/', $path);
  if (!isset($index)) {
    return $arguments[$path];
  if (isset($arguments[$path][$index])) {
    return $arguments[$path][$index];