$value ) { $code .= self::encodePair( $key, $value, $indent + 1 ); } } $code .= "$tabs]"; return $code; } /** * Recursively turn one k/v pair into properly-indented PHP * * @param string|int $key * @param mixed $value * @param int $indent Indentation level * @return string PHP code */ private static function encodePair( $key, $value, $indent = 0 ) { $tabs = str_repeat( "\t", $indent ); $line = $tabs . var_export( $key, true ) . ' => '; $line .= self::encodeValue( $value, $indent ); $line .= ",\n"; return $line; } /** * Recursively turn one list item into properly-indented PHP * * @param mixed $value * @param int $indent Indentation level * @return string PHP code */ private static function encodeItem( $value, $indent = 0 ) { $tabs = str_repeat( "\t", $indent ); $line = $tabs . self::encodeValue( $value, $indent ); $line .= ",\n"; return $line; } /** * Recursively turn one value into properly-indented PHP * * @since 1.38 * @param mixed $value * @param int $indent Indentation level * @return string PHP code */ public static function encodeValue( $value, $indent = 0 ) { if ( is_array( $value ) ) { return self::encodeArray( $value, $indent ); } else { $exportedValue = var_export( $value, true ); if ( $exportedValue === 'NULL' ) { // var_export() exports nulls as uppercase NULL which // violates our own coding standards. $exportedValue = 'null'; } return $exportedValue; } } }