$array = array( 'k1' => 4, 'k2' => 'd', 'k3' => 0, 9 => 'p' ); $key = Arrays::findKeyByValue($array, 0);
k3
public static function findKeyByValue(array $elements, $value) { if ($value === 0) { $value = '0'; } foreach ($elements as $key => $item) { if ($item == $value) { return $key; } } return false; }
/** * @test */ public function shouldFindIntZeroInArray() { //given $array = array('k1' => 4, 'k2' => 'd', 'k3' => 0, 9 => 'p'); //when $zeroKey = Arrays::findKeyByValue($array, 0); //then $this->assertEquals('k3', $zeroKey); }