如何在仅定义密钥时使用foreach

So I have this slightly annoying issue: say I have a foreach loop like this:

foreach ($arr as $key=>$value) {
        do_something($key);
    }

In my eclipse environment, I have turned on the feature that displays warnings for unused variables, which is really helpful. However, it complains for all such occurences, where the $value is not used in the loop.

I was wondering if there is some syntax where I don't use this, like is available for list() :

list(,,$my_var) = some_func();

//these returns an array with 3 elements, but I only need the last one

Note: The obvious would be to use array_keys(), but I don't want a function call; I'm merely asking if there's a shorthand I don't know of, or something like it. This is why the question PHP foreach that returns keys only does not cover what I'm asking.

</div>

TBH, I couldn't find any resource to back this answer, it works fine as far as my tests went, BUT I CAN'T SAY FOR SURE WHETHER THIS IS OR ISN'T RECOMMENDED TO USE. (Probably not)

Here is what I came up with:

$arr = array('kN1' => '50', 'kN2' => 400);
//$arr = array('50', 400);
foreach ($arr as $var => $var) { // use same variable for both key and value
    print_r($var);
    echo '<br>';
}
// kN1
// kN2

Run Viper

To get rid of the warning without introducing too much overhead just unset the unused variable once the loop is done.

foreach ($arr as $key => &$val) { 
    print_r($key);
}
unset($val);

BTW: I believe one should use a reference to the unused variable (&$val instead of $val). Otherwise you might end up producing a full copy of the variable with each iteration and that might be a costly operation.