PHP之string之ord()函数使用

ord

  • (PHP 4, PHP 5, PHP 7)
  • ord — Return ASCII value of character
  • ord — 返回字符的 ASCII 码值

Description

int ord ( string $string )
//Returns the ASCII value of the first character of string.
//返回字符串 string 第一个字符的 ASCII 码值。
//This function complements chr().
//该函数是 chr() 的互补函数。

Parameters

string

  • A character.
  • 一个字符。

Return Values

  • Returns the ASCII value as an integer.
  • 返回整型的 ASCII 码值。

Examples

<?php
/**
 * Created by PhpStorm.
 * User: zhangrongxiang
 * Date: 2018/2/18
 * Time: 下午9:43
 */
$str = 'abcdef';

for ( $i = 0; $i < strlen( $str ); $i ++ ) {
    echo $str[ $i ] . ' : ' . ord( $str{$i} ) . PHP_EOL;
}
/*
 * a : 97
 * b : 98
 * c : 99
 * d : 100
 * e : 101
 * f : 102
 */

echo ord( 'a' ) . PHP_EOL;//97
echo ord( 'b' ) . PHP_EOL;//98

function ordutf8( $string, &$offset ) {
    $code        = ord( substr( $string, $offset, 1 ) );
    $bytesnumber = 0;
    if ( $code >= 128 ) {        //otherwise 0xxxxxxx
        if ( $code < 224 ) {
            $bytesnumber = 2;
        }                //110xxxxx
        else if ( $code < 240 ) {
            $bytesnumber = 3;
        }        //1110xxxx
        else if ( $code < 248 ) {
            $bytesnumber = 4;
        }    //11110xxx
        $codetemp = $code - 192 - ( $bytesnumber > 2 ? 32 : 0 ) - ( $bytesnumber > 3 ? 16 : 0 );
        for ( $i = 2; $i <= $bytesnumber; $i ++ ) {
            $offset ++;
            $code2    = ord( substr( $string, $offset, 1 ) ) - 128;        //10xxxxxx
            $codetemp = $codetemp * 64 + $code2;
        }
        $code = $codetemp;
    }
    $offset += 1;
    if ( $offset >= strlen( $string ) ) {
        $offset = - 1;
    }

    return $code;
}

$text   = "中国??";
$offset = 0;
while ( $offset >= 0 ) {
    //0: 20013
    //3: 22269
    //6: 128516
    echo $offset . ": " . ordutf8( $text, $offset ) . PHP_EOL;
}

function uniord( $u ) {
    $k  = mb_convert_encoding( $u, 'UCS-2LE', 'UTF-8' );
    $k1 = ord( substr( $k, 0, 1 ) );
    $k2 = ord( substr( $k, 1, 1 ) );

    return $k2 * 256 + $k1;
}

echo uniord( "中" ) . PHP_EOL;//20013
echo uniord( "国" ) . PHP_EOL;//22269
//error
echo uniord( '??' ) . PHP_EOL;//63

See

All rights reserved

原文地址:https://www.cnblogs.com/zhangrxiang/p/8495328.html

时间: 2024-10-31 10:25:29

PHP之string之ord()函数使用的相关文章

[PHP]chr和ord函数实现字符串和ASCII码互转

chr和ord函数是用来字符串和ASCII码互转的.  ASCII码是计算机所能显示字符的编码,它的取值范围是0-255,其中包括标点.字母.数字.汉字等.在编程过程中,经常把指定的字符转化为ASCII码进行比较. 下面是PHP提供的转换ASCII码和字符的函数. 1.chr()函数 该函数用于将ASCII码值转化为字符串.其函数声明如下: string chr (int ascii); 2.ord()函数 该函数用于将字符串转化为ASCII码值.其函数声明如下: int ord(string 

String字符串处理函数

开发习惯常用字符串处理函数梳理:strtr() 转换字符串中特定的字符.substr() 返回字符串的一部分.strstr() 搜索字符串在另一字符串中的首次出现(对大小写敏感)str_replace() 替换字符串中的一些字符.(对大小写敏感)strcmp() 比较两个字符串.(对大小写敏感)strlen() 返回字符串的长度.substr_count() 计算子串在字符串中出现的次数.substr_replace() 把字符串的一部分替换为另一个字符串 implode() 把数组元素组合为一

php 截取中文字符串 - ord()函数 0xa0...

在ASCII中,0xa0表示汉字的开始 其中php中的一个函数ord()函数 此函数功能返回一个字符的askii码值: 如ord('A')=65; <?php function GBsubstr($string, $start, $length) { if(strlen($string)>$length){ $str=null; $len=$start+$length; for($i=$start;$i<$len;$i++){ if(ord(substr($string,$i,1))&g

PHP中String字符串处理函数完整版

文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/602 开发习惯常用字符串处理函数梳理: strtr() 转换字符串中特定的字符. substr() 返回字符串的一部分. strstr() 搜索字符串在另一字符串中的首次出现(对大小写敏感) str_replace() 替换字符串中的一些字符.(对大小写敏感) strcmp() 比较两个字符串.(对大小写敏感) strlen() 返回字符串的长度. substr_count() 计算子串

php的ord函数——解决中文字符截断问题

php的ord函数——解决中文字符截断问题 分类: PHP2014-11-26 12:11 1033人阅读 评论(0) 收藏 举报 utf8字符截取 函数是这样定义的: int ord ( string$string) 返回字符串 string 第一个字符的 ASCII 码值. 该函数是chr()的互补函数. 试一下: echo ord('我');这里只能返回230, 我是以u8保存的文件并输出的, 它得到的只有230, 而230转换成hex是e6,实际上utf-8中我的编码是e68891, 它

python中的ord函数

chr().unichr()和ord() chr()函数用一个范围在range(256)内的(就是0-255)整数作参数,返回一个对应的字符.unichr()跟它一样,只不过返回的是Unicode字符,这个从Python 2.0才加入的unichr()的参数范围依赖于你的Python是如何被编译的.如果是配置为USC2的Unicode,那么它的允许范围就是range(65536)或0x0000-0xFFFF:如果配置为UCS4,那么这个值应该是range(1114112)或0x000000-0x

实战c++中的string系列--函数返回局部变量string(引用局部string,局部string的.c_str()函数)

当函数返回字符串的时候,我们可以定义返回string和string&. 1写一个返回string引用的函数 std::string & TestStringReference() { std::string loal_str = "holy shit"; return loal_str; } 这个函数当然是错误的,编译器会提示我们: 返回局部变量或临时变量的地址: loal_str 即不能返回局部变量的引用. 2写一个返回string的函数(函数返回局部变量string

c++中string的常用函数说明

string可以说是是字符数组的升级版,使用更加啊方便,不容易出错.本文对string的常用函数进行简单介绍,做到会用即可. string中的常用函数分为四类,即赋值,添加,比较和删除. 一.赋值 1.str="adf" 2.str.assign("adf");str.assign(str1);//将括号中的字符串赋值给str: str.assign(str1,1,4);//将str1的1-4赋值给strs: str.assign(5,'a');//将五个a赋值给s

【python】chr与ord函数的使用

ord()是将已知字母转换成其顺序值: chr()是将已知字母的顺序至转换成其对应的字母 >>> ord("a") 97 >>> ord("A") 65 >>> chr(97) 'a' >>> chr(65) 'A' [python]chr与ord函数的使用,布布扣,bubuko.com