Самое короткое, что я смог найти, это использовать current
:
current(array_filter($input, function($e) {...}));
current
, по сути, получает первый элемент или возвращает false
, если он пуст.
Если код повторяется часто, то, вероятно, лучше всего извлечь его для его собственной функции.
Можно посмотреть в "AeroStyle.xml" как предыдущий отмеченный плакат, который дает точный список для Vista / Аэро. Однако, если Вы хотите действовать наверняка (и Вы, вероятно, делаете), имена классов должны, в целом, быть именами классов Windows стандартных элементов управления Windows. Например, кнопки и флажки используют имя класса "Кнопка", средства редактирования "Редактирование", и т.д. Я обычно выбираю имя класса управления, это является самым близким к любому пользовательскому элементу, я продолжаю работать, и используйте данные темы для этого. Тем путем Вы получите код, который работает с XP, Vista и (надо надеяться) Windows 7, независимо от того, какова выбранная тема пользователя на самом деле.
Однако, если Вы не используете необработанный Win32 много, Вы, вероятно, не делаете большого создания управления непосредственно с помощью имени класса. Имена классов скорее подробно опрыснуты всюду по MSDN. Хорошее место для запуска обычно является файлом "CommCtrl.h" с Платформы SDK, который имеет многие из них, и они всегда описываются в справке MSDN на отдельном общем контроле. Можно также часто изучать их путем взгляда на то, как диалоговые окна определяются в .rc файлах путем открытия их в текстовом редакторе: они содержат имя класса для средств управления.
Имена классов зависят от темы. Например, как документация для OpenThemeData указывает:
Имена классов для Аэро темы определяются в AeroStyle.xml, который найден в папке Include Комплекта разработчика программного обеспечения (SDK) Microsoft Windows.
Это не имеет никакого отношения Аэро, который даже не делает выходов на XP! Посмотрите исходный код OpenThemeData ()..