Хотите получить выведенную переменную, которую я могу отдать в любом месте, из этого утверждения. Необходимо проверить значение $ PageTitle, затем вывести правильное значение в переменную:
//Информация о странице
$PageTitle = "audio";
//Body header menu
$search_for = array('Electrical Service' => 'electrical, electrician, security, audio, video', 'Plumbing Service' => 'heating, gas', 'water' => 'water');
foreach ($search_for as $name=>$term){
if (strpos($PageTitle,$term) !== false){
echo $name;
// add break; here if you want to display only one (first) found
}
}
//need to echo result anywhere on page
echo $name;
FIDDLE: http://codepad.viper-7.com/FAelDG
Он выводит "воду" вместо "Электрическая служба"
Ответил BigScar очень красивым и элегантным способом.
Вы неправильно использовали strpos()
. Если вы изучите руководство: http://php.net/manual/en/function.strpos.php
И возьмите цитату оттуда:
смешанные strpos (строка $ haystack, смешанная $ needle [, int $ offset = 0])
Поэтому вам нужно изменить порядок своих аргументов, например:
if (strpos($term, $PageTitle) !== false){
//^^^^^^^^^^^^^^^^^ Changed
У вас есть аргументы strpos()
неправильным образом. Должен быть:
if (strpos($term,$PageTitle) !== false){
Взгляните на подпись функции: стог сена, игла, а не игла, стога сена
смешанные strpos (строка $ haystack, смешанная $ needle [, int $ offset = 0])
Обновлены демо- выходы Electrical Service
.