URL rewrite – Integer-based rewrite is not recognized for a value of 1

I have a simple rewrite to pass a variable:

// Add custom URL settings
function add_custom_query_var ($ vars) {
$ vars[] = "item_id";
return $ vars
}

add_filter ('query_vars', & # 39; add_custom_query_var & # 39;);

// Add a rewrite for custom query vars
function custom_rewrite_basic ()
{
add_rewrite_rule (& # 39; ^ add-item / ([0-9]+) /? & # 39; & # 39; add-item /? item_id = $ 1, & # 39; top & # 39;);
}

add_action (& # 39; init & # 39 ;, & quot; custom_rewrite_basic & quot;);

On the add an item page, the variable is retrieved as such:

$ item_id = filter_input (INPUT_GET, "article_id", FILTER_SANITIZE_NUMBER_INT);

if (! empty ($ item_id)) {
...

When the page is called with add-item / 1, var_dump ($ item_id) come back with NO. Any other number (including 0) works well. Ideas?