wc_print_r( mixed $expression, bool $return = false )

Prints human-readable information about a variable.


Description Description

Some server environments block some debugging functions. This function provides a safe way to turn an expression into a printable, readable form without calling blocked functions.


Parameters Parameters

$expression

(Required) The expression to be printed.

$return

(Optional) Set to true to return the human-readable string.

Default value: false


Top ↑

Return Return

(string|bool) False if expression could not be printed. True if the expression was printed. If $return is true, a string representation will be returned.


Top ↑

Source Source

File: includes/wc-core-functions.php

function wc_print_r( $expression, $return = false ) {
	$alternatives = array(
		array(
			'func' => 'print_r',
			'args' => array( $expression, true ),
		),
		array(
			'func' => 'var_export',
			'args' => array( $expression, true ),
		),
		array(
			'func' => 'json_encode',
			'args' => array( $expression ),
		),
		array(
			'func' => 'serialize',
			'args' => array( $expression ),
		),
	);

	$alternatives = apply_filters( 'woocommerce_print_r_alternatives', $alternatives, $expression );

	foreach ( $alternatives as $alternative ) {
		if ( function_exists( $alternative['func'] ) ) {
			$res = $alternative['func']( ...$alternative['args'] );
			if ( $return ) {
				return $res;
			}

			echo $res; // WPCS: XSS ok.
			return true;
		}
	}

	return false;
}

Top ↑

Changelog Changelog

Changelog
Version Description
3.0 Introduced.


Top ↑

User Contributed Notes User Contributed Notes

You must log in before being able to contribute a note or feedback.