WordPress函数:wp_generate_uuid4 和 wp_is_uuid 生成和判断UUID

追格官方小助手/ 2022年06月30日/ WordPress/ 浏览 1154

UUID 经常作为唯一标识使用。WordPress也提供了相应的函数。


wp_generate_uuid4 生成一个UUID。


函数源码:


function wp_generate_uuid4() {
	return sprintf(
		'%04x%04x-%04x-%04x-%04x-%04x%04x%04x',
		mt_rand( 0, 0xffff ),
		mt_rand( 0, 0xffff ),
		mt_rand( 0, 0xffff ),
		mt_rand( 0, 0x0fff ) | 0x4000,
		mt_rand( 0, 0x3fff ) | 0x8000,
		mt_rand( 0, 0xffff ),
		mt_rand( 0, 0xffff ),
		mt_rand( 0, 0xffff )
	);
}


使用举例:


$uuid = wp_generate_uuid4();



wp_is_uuid 判断一个字符串是否是UUID。


函数源码:


function wp_is_uuid( $uuid, $version = null ) {

	if ( ! is_string( $uuid ) ) {
		return false;
	}

	if ( is_numeric( $version ) ) {
		if ( 4 !== (int) $version ) {
			_doing_it_wrong( __FUNCTION__, __( 'Only UUID V4 is supported at this time.' ), '4.9.0' );
			return false;
		}
		$regex = '/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/';
	} else {
		$regex = '/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/';
	}

	return (bool) preg_match( $regex, $uuid );
}

 

可以看出,$version支持null或者4,也就是 wp_generate_uuid4 生成的UUID。

发表评论

暂无评论,抢个沙发...

客服 工单