Check for any printable character which is not whitespace or an alphanumeric character

- « ctype_print

- ctype_space »

- PHP Manual
- Ctype Functions
- Check for any printable character which is not whitespace or an alphanumeric character

# ctype_punct

(PHP 4 >= 4.0.4, PHP 5, PHP 7, PHP 8)

ctype_punct — Check for any printable character which is not whitespace or an alphanumeric character

### Description

ctype_punct(mixed `$text`): bool

Checks if all of the characters in the provided string, `text`, are punctuation character.

### Parameters

`text`

  The tested string.

  > Note:

  > If an int between -128 and 255 inclusive is provided, it is interpreted as the ASCII value of a single character (negative values have 256 added in order to allow characters in the Extended ASCII range). Any other integer is interpreted as a string containing the decimal digits of the integer.

  Warning

  As of PHP 8.1.0, passing a non-string argument is deprecated. In the future, the argument will be interpreted as a string instead of an ASCII codepoint. Depending on the intended behavior, the argument should either be cast to string or an explicit call to chr() should be made.

### Return Values

Returns `true` if every character in `text` is printable, but neither letter, digit or blank, `false` otherwise. When called with an empty string the result will always be `false`.

### Examples

Example #1 A ctype_punct() example

    <?php$strings = array('ABasdk!@!$#', '!@ # $', '*&$()');foreach ($strings as $testcase) {    if (ctype_punct($testcase)) {        echo "The string $testcase consists of all punctuation.\n";    } else {        echo "The string $testcase does not consist of all punctuation.\n";    }}?>

The above example will output:

    The string ABasdk!@!$# does not consist of all punctuation.
    The string !@ # $ does not consist of all punctuation.
    The string *&$() consists of all punctuation.

### See Also

- ctype_cntrl() - Check for control character(s)
- ctype_graph() - Check for any printable character(s) except space
- IntlChar::ispunct() - Check if code point is punctuation character