到目前为止,我有这个:
foreach (range('A', 'Z') as $char) {
echo $char . "\n";
}
它打印出字母表。
但是我需要一些具有完整aplhabet,数字,符号和外来字符的东西。
假设我试图在Basic Latin部分中获得每个人类可读的UTF-8字符。
这是可能的吗?如果是的话,我需要做什么?
答案 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 { | } ~
或者,您也可以使用for
和chr
,如下所示。
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);