Обрезка пробелов Unicode в PHP 5.2

Еще одна веская причина, чтобы всегда определять типы и структуры, вытекает из этой проблемы:

enum EnumDef
{
  FIRST_ITEM,
  SECOND_ITEM
};

struct StructDef
{
  enum EnuumDef MyEnum;
  unsigned int MyVar;
} MyStruct;

Обратите внимание на опечатку в EnumDef в структуре (Enu u mDef)? Он компилируется без ошибок (или предупреждений) и является (в зависимости от буквальной интерпретации стандарта C) правильным. Проблема в том, что я только что создал новое (пустое) определение перечисления в моей структуре. Я не использую (как предполагалось) предыдущее определение EnumDef.

При использовании typedef аналогичные типы опечаток привели бы к ошибкам компилятора при использовании неизвестного типа:

typedef 
{
  FIRST_ITEM,
  SECOND_ITEM
} EnumDef;

typedef struct
{
  EnuumDef MyEnum; /* compiler error (unknown type) */
  unsigned int MyVar;
} StructDef;
StrructDef MyStruct; /* compiler error (unknown type) */

Я бы поддерживал ВСЕГДА структуры определения типов и перечисления.

Не только для сохранения некоторого набора текста (без каламбура;)), но и потому, что это безопаснее.

22
задан tchrist 29 March 2012 в 18:13
поделиться

1 ответ

Ни один из ответов сверху на самом деле не работал для удаления конечных пробелов в строках utf-8.

Это решение нашло здесь работы отлично и является самым коротким:

trim($str, "\t\n\r\0\x0B\xC2\xA0");
-1
ответ дан 29 November 2019 в 03:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: