Make WordPress Core

Ticket #24023: 24023.test.php

File 24023.test.php, 1.2 KB (added by SergeyBiryukov, 11 years ago)
Line 
1<?php
2require 'wp-load.php';
3
4function _is_serialized( $data) {
5        if ( ! is_string( $data ) ) // this is not required
6                return false;
7
8        if ( $data === 'b:0;' )
9                return true;
10
11        return ( @unserialize( $data ) !== false );
12}
13
14$count = 1000000;
15
16timer_start();
17for ( $i = 0; $i < $count; $i++ ) {
18        is_serialized( 'a' );
19        is_serialized( serialize( 'a' ) );
20        is_serialized( false );
21        is_serialized( serialize( false ) );
22        is_serialized( true );
23        is_serialized( serialize( true ) );
24        is_serialized( array( 1, '2', 3, true ) );
25        is_serialized( serialize( array( 1, '2', 3, true ) ) );
26        is_serialized( new stdClass() );
27        is_serialized( serialize( new stdClass() ) );
28}
29echo 'is_serialized(): ' . timer_stop( 0, 3 ) . ' seconds<br />';
30
31timer_start();
32for ( $i = 0; $i < $count; $i++ ) {
33        _is_serialized( 'a' );
34        _is_serialized( serialize( 'a' ) );
35        _is_serialized( false );
36        _is_serialized( serialize( false ) );
37        _is_serialized( true );
38        _is_serialized( serialize( true ) );
39        _is_serialized( array( 1, '2', 3, true ) );
40        _is_serialized( serialize( array( 1, '2', 3, true ) ) );
41        _is_serialized( new stdClass() );
42        _is_serialized( serialize( new stdClass() ) );
43}
44echo '_is_serialized(): ' . timer_stop( 0, 3 ) . ' seconds<br />';