检查项目是否可以转换为字符串?

2022-08-30 11:29:30

我正在编写调试方法。

我拥有的是

if(is_xxx($item)){
 //echo output info for type
}

我最后想做的是

if(can_be_string($item))
echo $item;

是否有类型函数?can_be_string


答案 1

为了完成...

http://www.php.net/is_scalar,从 PHP 4 开始可用;没有一个字。:)


答案 2

好的,编辑了,并结合了Michiel Pater的建议(谁的答案现在已经消失了)和@eisberg的建议。 无论如何都会带着对象返回,看起来。settypetrue

if(
    ( !is_array( $item ) ) &&
    ( ( !is_object( $item ) && settype( $item, 'string' ) !== false ) ||
    ( is_object( $item ) && method_exists( $item, '__toString' ) ) )
)
{
    echo $item;
}

推荐