Ctype 函数
在线手册:中文 英文
PHP手册

ctype_space

(PHP 4 >= 4.0.4, PHP 5)

ctype_spaceCheck for whitespace character(s)

说明

bool ctype_space ( string $text )

Checks if all of the characters in the provided string, text, creates whitespace.

参数

text

The tested string.

返回值

Returns TRUE if every character in text creates some sort of white space, FALSE otherwise. Besides the blank character this also includes tab, vertical tab, line feed, carriage return and form feed characters.

范例

Example #1 A ctype_space() example

<?php
$strings 
= array('string1' => "\n\r\t"'string2' => "\narf12"'string3' => '\n\r\t');
foreach (
$strings as $name => $testcase) {
    if (
ctype_space($testcase)) {
        echo 
"The string '$name' consists of all whitespace characters.\n";
    } else {
        echo 
"The string '$name' does not consist of all whitespace characters.\n";
    }
}
?>

以上例程会输出:

The string 'string1' consists of all whitespace characters.
The string 'string2' does not consist of all whitespace characters.
The string 'string3' does not consist of all whitespace characters.

注释

Note:

如果给出一个 -128 到 255 之间(含)的整数, 将会被解释为该值对应的ASCII字符 (负值将加上 256 以支持扩展ASCII字符). 其它整数将会被解释为该值对应的十进制字符串.

参见


Ctype 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Check for whitespace character(s)

用户评论:

gardnerjohng at hotmail dot com (15-Sep-2009 05:00)

A function I wrote last night was fairly flexible in terms of detecting whitespace, and even took into account the pesky non-breaking spaces / zero-width spaces further up the Unicode alphabet.

The benefit here was being able to isolate and identify specific Unicode indices based on their subrange.

<?php
   
//    Returns TRUE if the ASCII value of $string matches a registered whitespace character.
    //    *    This includes non-breaking spaces, zero-width spaces, and any unicode values below 32.
    //    *    $string: Character to identify. If string extends past one character, the value
    //        is truncated and only the initial character is examined.
   
function is_whitespace($string){
       
//    Return FALSE if passed an empty string.
       
if($string == "") return FALSE;
       
       
$char    =    ord($string);
       
       
//    Control Characters
       
if($char < 33)                        return TRUE;
        if(
$char > 8191 && $char < 8208)    return TRUE;
        if(
$char > 8231 && $char < 8240)    return TRUE;
       
       
//    Additional Characters
       
switch($char){
            case
160:    // Non-Breaking Space
           
case 8287:    // Medium Mathematical Space
               
return TRUE;
                break;
        }
        return
FALSE;
    }
?>

per dot zut at gmail dot com (22-Jul-2008 08:48)

The contradiction bellow brutaly forced me to do some testing.

ctype_space(""), as well as ctype_space(NULL), returns false
ctype_space(), returns NULL, with a warning

(PHP Version 4.4.8)

abozzay at yahoo dot com (07-May-2008 10:53)

PHP Version 5.2.3-1ubuntu6
ctype_space("") returns false

Anonymous (17-Oct-2007 04:46)

ctype_space("") i.e. the empty string, returns true