PHP foreach所有字符
PHP foreach all characters
到目前为止我有这个:
foreach (range('A', 'Z') as $char) {
echo $char . "\n";
}
并打印出字母表。
但我需要一些能够包含完整的字母、数字、符号和外来字符的东西。
假设我正在尝试获取基本拉丁语部分中每个人类可读的 UTF-8 字符。
这可能吗?如果可以,我需要做什么?
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);
}
有 232 > 40 亿个 Unicode 字符。其中大部分尚未使用或分配,但即使是前 216 也可能比您想要的多得多。
这是一个将输出字符 32-2047 的示例,但当然还有许多超出 2047 的文本字符(尽管大多数是非拉丁字符)。
$s = "All characters: ";
for ($c=32; $c<2047; $c++)
{
$s .= json_decode('"\u'.bin2hex(pack('n', $c)).'"');
}
print($s);
到目前为止我有这个:
foreach (range('A', 'Z') as $char) {
echo $char . "\n";
}
并打印出字母表。
但我需要一些能够包含完整的字母、数字、符号和外来字符的东西。
假设我正在尝试获取基本拉丁语部分中每个人类可读的 UTF-8 字符。
这可能吗?如果可以,我需要做什么?
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);
}
有 232 > 40 亿个 Unicode 字符。其中大部分尚未使用或分配,但即使是前 216 也可能比您想要的多得多。
这是一个将输出字符 32-2047 的示例,但当然还有许多超出 2047 的文本字符(尽管大多数是非拉丁字符)。
$s = "All characters: ";
for ($c=32; $c<2047; $c++)
{
$s .= json_decode('"\u'.bin2hex(pack('n', $c)).'"');
}
print($s);