нет необходимости использовать все вышеупомянутые функции, такие как array_filter
. Потому что array_filter
фильтрует массив. И фильтрация отличается от поиска первого значения . Итак, просто сделайте это:
foreach ($array as $key => $value) {
if (meetsCondition($value)) {
$result = $value;
break;
// or: return $value; in in function
}
}
array_filter
отфильтрует весь массив . Поэтому, если требуемое значение является первым, а массив содержит 100 или более элементов, array_filter
все равно будет проверять все эти элементы. Итак, вам действительно нужно 100 итераций вместо 1? Ответ ясен - нет .
В Windows существует 2 общих проблемы с дисплеем, которые происходят при попытке отобразить символы Unicode:
текст иногда появляется как вопросительные знаки
текст иногда появляется как поля
Это означает, что Ваш текст Unicode становится преобразованным в текст ANSI где-нибудь. Так как символы Unicode за пределами латинского 1 не могут быть преобразованы в ANSI, они преобразовываются в вопросительные знаки. Удостоверьтесь, что Ваша программа компилируется с поддержкой Unicode на (т.е. UNICODE символов препроцессора, и _UNICODE являются #defined Вашим проектом), так, чтобы Вы всегда назвали надлежащие версии Unicode различных функций Windows.
В основном Вы повредили текст. Вы берете текст Unicode в одном кодировании и затем преобразовали его в другое кодирование, не проверяя, что целевое кодирование включает все символы в исходном тексте. Сделав, таким образом, у Вас есть набор мусора.
Способы сделать это включает: