Функция in_array проверяет, что указанная игла равна одному из значений в массиве, а не одному из ключей в массиве.
Вы по сути дела:
if (438 == stdClass Object(
[w] => 438
[x] => 0
[y] => 438
[z] => 23
)
||
438 == stdClass Object(
[w] => 4960
[x] => 0
[y] => 4960
[z] => 37
)
) {
echo "yes";
}
else {
echo "no";
}
Что вы должны использовать:
$needle = 438;
if (array_key_exists($needle, $haystack)) {
echo 'yes';
}
else {
echo 'no';
}