2012-01-09 3 views
0

Я пытаюсь найти лучший способ, чтобы найти значение в массиве:Поиск значения в массиве

Значение $this->school_degree извлекается из API Facebook Graph. Ради этого примера, его значение может быть любым (но только одно из следующих действий):

  • магистра наук в области компьютерных наук
  • Магистр компьютерных наук
  • Computer Science
  • MBA

Так что моя естественная склонность было сделать это:

function EXPLODETEST() { 
     $explode_degree = explode(" ", $this->school_degree); 
     echo "$explode_degree[0]"; 
     echo "$explode_degree[1]"; 
     echo "$explode_degree[2]"; 
     echo "$explode_degree[3]"; 
     echo "$explode_degree[4]"; 
     echo "$explode_degree[5]"; 
     echo "$explode_degree[6]"; 
     } 

В какой момент мне нужно было бы создать очень длинный if или statement для поиска каждого смещения для слов computer science.

Эндшпиль должен повторить одно утверждение, если они овладевают CS и повторяют другое утверждение, если это не так. Каков наилучший способ сделать это?

+6

Зачем взрываться? Просто найдите исходную строку. Попробуйте ['strpos()'] (http://php.net/strpos). 'strpos ($ this-> school_degree, 'Computer Science')! == FALSE'. –

+1

Можете ли вы привести пример того, как выглядит массив? – MrGlass

+0

@MrGlass - Эмм, он сделал. Он создает его с помощью 'explode' и показывает вам, каковы возможные исходные строки. –

ответ

4

Если степень всегда содержит слова «Computer Science», вы могли бы не просто искать этот текст в строке?

if (strpos($this->school_degree, "Computer Science") !== false) 
{ 
    echo "Mastering in CS"; 
} 
else 
{ 
    echo "Not Mastering in CS"; 
} 
+0

В нем не всегда содержатся слова «Компьютерная наука», они могут получить мастер в чем-то другом. – buttonitup

+2

@mattrmclaren: Следовательно, «эхо» не освоение в CS ». В чем проблема? –

+0

@mattrmclaren Я предназначался для тех, кто изучает информатику. Вы хотите отличить тех, кто изучает CS от тех, кто не прав? Так что, если те, кто изучает CS, всегда имеют «Computer Science» в названии своей степени, вы можете использовать это, чтобы различать. –

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