【问题标题】:Is there a way to have PHP output an array of all characters available?有没有办法让 PHP 输出一个包含所有可用字符的数组?
【发布时间】:2011-07-02 21:35:56
【问题描述】:

有没有办法让 PHP 返回一个包含所有可用字符的数组?

【问题讨论】:

  • “所有可用字符”是什么意思?
  • 如果您的意思是所有 Unicode 字符,该数组将是 biiiiiiiiiiiig。

标签: php arrays character


【解决方案1】:

您可以使用rangechr 函数生成一个包含所有ASCII 字符列表的数组:

// Create an array containing a range of ASCII elements. 
$bytes =  range (0 , 255);
$all_chars = array_map('chr', $bytes);

【讨论】:

  • 不会总是只在数组中放入标准的 255 个字符吗?如果有多余的怎么办??
  • @Pheonix 我强调了“ASCII”这个词,因为字符是一个符号概念,所以可能总是有多余的字符。
  • 我所说的 ASCII 是指扩展 ASCII(即 8 位),而不是原始的 7 位定义。每个人都已经知道了。
【解决方案2】:

如果 所有可用字符 表示 unicode 字符,那么答案是否定的。 unicode 标准有一个roadmap 用于逐步适应新字符。 PHP 可以验证某些字节序列(例如 UTF-8 流)的有效性,但不会积极检查这些序列当前是否是标准的一部分;例如Unicode 代码点中存在当前无效但可能变为有效的间隙,以及 UTF-8 序列代表的间隙。

【讨论】:

    【解决方案3】:

    我使用了这个代码::

    $array = array();
    $x = 0;
    
    while(!in_array(chr($x), $array)){
        $array[] = chr($x);
        $x++;
    }
    
    print_r($array);
    

    【讨论】:

      猜你喜欢
      • 2021-01-03
      • 2020-11-11
      • 1970-01-01
      • 2021-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-09
      • 1970-01-01
      相关资源
      最近更新 更多