С этим кодом:
if($foo['bar'] == $baz) {
$results[] = $foo;
}
Я никогда не достигаю назначения $results[] = $foo;
(с определенным значением)
Теперь, если я это сделаю (с этим же, определенным значением):
strcmp(trim($foo['bar']), trim($baz));
Я получаю результат 0
, указывающий, что строки фактически равны. Итак ... почему в мире я не могу достичь $results[] = $foo;
?
Не должно ли $ foo ['bar'] == $ baz быть истинным, если strcmp из двух равен 0? Чего мне не хватает?
Кстати, проваливается только одно конкретное сравнение. Другие сравнения, использующие тот же оператор if, будут работать нормально.
пример:
когда $ foo ['bar'] == 'meat' и $ baz == 'meat', я получаю результаты $ ['meat']
но когда $ foo ['bar'] == 'мясной соус' и $ baz == 'мясной соус', я получаю $ результаты []