PHP预告所有字符

时间:2015-10-23 12:32:46

标签: php loops utf-8 foreach character

到目前为止,我有这个:

foreach (range('A', 'Z') as $char) {
    echo $char . "\n";
}

它打印出字母表。

但是我需要一些具有完整aplhabet,数字,符号和外来字符的东西。

假设我试图在Basic Latin部分中获得每个人类可读的UTF-8字符。

这是可能的吗?如果是的话,我需要做什么?

2 个答案:

答案 0 :(得分:2)

range函数会查看ASCII个字符。使用您想要的第一个和最后一个。我在这里使用!~

foreach (range('!', '~') as $char) {
    echo $char . "\n";
}

输出:

! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ 

或者,您也可以使用forchr,如下所示。

for($i = 1; $i <= 255; $i++) {
    echo chr($i);
}

答案 1 :(得分:2)

有2 32 &gt; 40亿个unicode字符。他们中的大多数还没有被使用或分配,但即使是前2 16 也可能比你想要的更多。

这是一个输出字符32-2047的例子,当然除了2047之外还有很多文字字符(尽管非拉丁语)。

$s = "All characters: ";

for ($c=32; $c<2047; $c++)
{
    $s .= json_decode('"\u'.bin2hex(pack('n', $c)).'"');
}

print($s);