2012-02-28 4 views
0

Как выполнить цикл по массиву, а затем проверить, является ли текущий выбранный элемент ключом? Благодарю.Проверка того, является ли элемент массива ключом

E.g. для следующих целей:

for($i=0;$i<count($arr);$i++) { 
    //if($arr[$i]) == key, or typeOf($arr[$i]) == key, then doSomething(); 
} 
+1

Вы имеете в виду, что значение элемента равно ключу? –

+0

Что вы подразумеваете под * "текущий выбранный элемент" * и * "является ключом" * – Joseph

+1

Что вы подразумеваете под этим? Каждый элемент массива состоит из ключа и значения. Вы имеете в виду, что значение является ключом в другом массиве? –

ответ

2

Если вы хотите проверить, если ключ существует в массиве, а затем использовать array_key_exists()

//check if whatever is $key is a key in $array 
if(array_key_exists($key , $array)){ 
    //do something because it's a key 
} else { 
    //key not found. not a key 
} 

сделать наоборот и получить ключ, если значение существует, используйте array_search():

$array = array(
    0 => 'blue', 
    1 => 'red', 
    2 => 'green', 
    3 => 'red' 
); 

$key = array_search('green', $array); // $key = 2; 
$key = array_search('red', $array); // $key = 1; 
+0

Спасибо! Я искренне ценю ваш ответ! Тем не менее, дополнительная проблема заключается в получении самого фактического ключа (например, «и» => «word» - как я могу получить строку «и» с помощью этого?). Благодаря! – user784446

+0

@ user784446: IMO было бы намного проще помочь вам, если вы предоставите пример с данными, которые у вас есть (ввод) и результатом, который вы хотите получить. –

+0

Я пытаюсь пройти через массив и проверить, проверяет ли какой-либо ключ или значение, с которым он связан, тест strstr. – user784446

Смежные вопросы