if (array_search($soca, $user_socs))
Я знаю, что это будет производить поиск в массиве путем ввода переменной и массива, но мне было интересно, можно ли сделать так, чтобы он возвращал значение true, поскольку, поскольку он не возвращает значение true, оператор my if не выполняется.
Вам нужно кодировать эту функцию, чтобы ожидать возврата FALSE
если он не находит то, что вы ищете.
Так
if (array_search($soca, $user_socs) !== false) {
// then I found something
// not sure what but its defintely not
// returning a failed to find situation
} else {
// I did not find anything
}
Обратите внимание на использование !==
и не !=
это специально для ситуаций, когда функция может возвращать фактические данные, которые могут приравниваться к ложному, но на самом деле не могут быть ложными, т. е. когда она может возвращать 0-е вхождение, это допустимое вхождение, которое может быть перепутано с ложным, если вы только мы ==
,
if (($key = array_search($soca, $user_socs)) !== FALSE) {
...
}