PHP之string之chr()函数使用
chr
- (PHP 4, PHP 5, PHP 7)
- chr — Return a specific character
- chr — 返回指定的字符
Description
string chr ( int $ascii ) //Returns a one-character string containing the character specified by ascii. //返回相对应于 ascii 所指定的单个字符。 //This function complements ord(). //此函数与 ord() 是互补的。
Parameters
ascii
- The extended ASCII code.
- Ascii 码。
- Values outside the valid range (0..255) will be bitwise and'ed with 255, which is equivalent to the following algorithm:
while ($ascii < 0) { $ascii += 256; } $ascii %= 256;
Return Values
- Returns the specified character.
- 返回规定的字符。
Examples
<?php /** * Created by PhpStorm. * User: zhangrongxiang * Date: 2018/2/15 * Time: 下午6:56 */ for ( $i = 65; $i < 127; $i ++ ) { echo chr( $i ) . ' '; if ( $i % 10 == 0 ) { echo PHP_EOL; } } /* * 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 { | } ~ */ echo PHP_EOL; function unichr( $dec ) { if ( $dec < 128 ) { $utf = chr( $dec ); } else if ( $dec < 2048 ) { $utf = chr( 192 + ( ( $dec - ( $dec % 64 ) ) / 64 ) ); $utf .= chr( 128 + ( $dec % 64 ) ); } else { $utf = chr( 224 + ( ( $dec - ( $dec % 4096 ) ) / 4096 ) ); $utf .= chr( 128 + ( ( ( $dec % 4096 ) - ( $dec % 64 ) ) / 64 ) ); $utf .= chr( 128 + ( $dec % 64 ) ); } return $utf; } //中 echo unichr( 20013 ) . PHP_EOL; //A echo chr( 321 ) . PHP_EOL;//A 256 + 65 = 321 function genPass( $len = 8 ) { $passwd = ''; for ( $i = 0; $i <= $len; $i ++ ) { $passwd = sprintf( '%s%c', isset( $passwd ) ? $passwd : null, rand( 48, 122 ) ); } return $passwd; } //vuTR<oUn; echo genPass( 8 ) . PHP_EOL; function unichr2( $dec ) { if ( $dec < 0x80 ) { $utf = chr( $dec ); } else if ( $dec < 0x0800 ) { $utf = chr( 0xC0 + ( $dec >> 6 ) ); $utf .= chr( 0x80 + ( $dec & 0x3f ) ); } else if ( $dec < 0x010000 ) { $utf = chr( 0xE0 + ( $dec >> 12 ) ); $utf .= chr( 0x80 + ( ( $dec >> 6 ) & 0x3f ) ); $utf .= chr( 0x80 + ( $dec & 0x3f ) ); } else if ( $dec < 0x200000 ) { $utf = chr( 0xF0 + ( $dec >> 18 ) ); $utf .= chr( 0x80 + ( ( $dec >> 12 ) & 0x3f ) ); $utf .= chr( 0x80 + ( ( $dec >> 6 ) & 0x3f ) ); $utf .= chr( 0x80 + ( $dec & 0x3f ) ); } else { die( "UTF-8 character size is more than 4 bytes" ); } return $utf; } function unichr3( $u ) { return mb_convert_encoding( '&#' . intval( $u ) . ';', 'UTF-8', 'HTML-ENTITIES' ); } echo unichr( 0x263A ) . PHP_EOL;//☺ echo unichr2( 0x263A ) . PHP_EOL;//☺ echo unichr3( 0x263A ) . PHP_EOL;//☺ echo unichr( 0x263B ) . PHP_EOL;//☻ echo unichr2( 0x263B ) . PHP_EOL;//☻ echo unichr( 20013 ) . PHP_EOL;//中 echo unichr2( 20013 ) . PHP_EOL;//中 echo unichr3( 20013 ) . PHP_EOL;//中
See
All rights reserved
相关推荐
xzkjgw 2020-03-06
zyyjay 2020-01-22
zhglinux 2020-01-17
xsjezp 2008-06-20
kevinweijc 2013-06-04
anzhen0 2008-10-07
whyname 2017-05-18
别时茫茫 2012-08-27
一叶不知秋 2019-05-28
manlsq 2018-09-20
奇迹的黄昏 2016-04-25
楼上小宇home 2010-03-16
逍遥友 2010-03-16
lidongliang 2013-05-14
veforever 2017-08-06
小菜鸟的代码世界 2017-06-20
luoxinyurose 2016-06-16