とりあえずテキストに書き出してみただけの状態です。そのうち日本語で表にします。
identifier: expected type required argument number and types 'l': integer 1: long * 'd': float 1: double * 's': binary string 2: char **, int * 'S': binary string (strict) 2: char **, int * 'u': Unicode string 2: UChar **, int * 'U': Unicode string (strict) 2: UChar **, int * 't': string (by semantics) 3: zstr *, int *, zend_uchar * 'T': string (no conversion) 3: zstr *, int *, zend_uchar * 'b': boolean 1: zend_bool * 'r': resource 1: zval ** 'a': array 1: zval ** 'h': array 1: HashTable ** 'o': object 1: zval ** 'O': object (class specified) 2: zval **, zend_class_entry * 'C': string (class name) 1: zend_class_entry ** 'f': callback 2: zend_fcall_info *, zend_fcall_info_cache * 'z': any 1: zval ** 'Z': any 1: zval *** '*': varargs (optional) 2: zval ****, int * '+': varargs (required) 2: zval ****, int * note: varargs (zval ***) should be freed with efree() special: 'x': unicode ? 'u' : 's' suffixes: note additional argument number and types '|': rests are optional 0 '/': separate if not null 0 '&': alternate form (for 's') 1: UConverter * '!': return null if null 0 '^': return original type (for string) 1: zend_uchar *