解析 trim() 需要至少 1 个参数,0 在 divi 函数文件中给出
Resolving trim() expects at least 1 parameter, 0 given in divi functions file
在用 divi 制作的 wordpress 网站中,divi 主题中的 functions.php
文件包含 builder 文件夹,我在该行遇到间歇性错误:
$value = substr( $value, 1, $value_length ) . trim();
错误显示 Warning: trim() expects at least 1 parameter, 0 given
这是因为里面什么都没有吗trim?但是最后像这样链接它应该指的是它所链接的内容,对吗?所以 $value
的 substr
。这是否意味着 $value
只是没有给出?或者,当您得到 substr
时,那里就没有其他东西了?
很想用 javascript 的 console.log 看看现在周围到底有什么 :D 。是否有 php 等价物?或者某种用于开发工具的 php 插件,我可以在任何给定时刻看到变量?
有人知道这里的问题是什么吗?我什至不确定这段代码现在做了什么,我猜是与在某些文本上设置 css px 值有关...,并删除 !important
属性?
if ( ! function_exists( 'et_pb_get_value_unit' ) ) :
/**
* Get unit of given value
*
* @param string $value string with unit.
* @param string $default_unit default unit.
*
* @return string unit name
*/
function et_pb_get_value_unit( $value, $default_unit = 'px' ) {
$value = isset( $value ) ? $value : '';
$valid_one_char_units = array( '%', 'x' );
$valid_two_chars_units = array( 'em', 'px', 'cm', 'mm', 'in', 'pt', 'pc', 'ex', 'vh', 'vw', 'ms' );
$valid_three_chars_units = array( 'deg', 'rem' );
$important = '!important';
$important_length = strlen( $important );
$value_length = strlen( $value );
if ( '' === $value || is_numeric( $value ) ) {
return $default_unit;
}
if ( substr( $value, ( 0 - $important_length ), $important_length ) === $important ) {
$value_length = $value_length - $important_length;
$value = substr( $value, 1, $value_length ) . trim();
}
if ( in_array( substr( $value, -3, 3 ), $valid_three_chars_units, true ) ) {
return substr( $value, -3, 3 );
}
if ( in_array( substr( $value, -2, 2 ), $valid_two_chars_units, true ) ) {
return substr( $value, -2, 2 );
}
if ( in_array( substr( $value, -1, 1 ), $valid_one_char_units, true ) ) {
return substr( $value, -1, 1 );
}
return $default_unit;
}
endif;
像这样的链接是其他语言的一个特性(比如 JavaScript),但它 不是 PHP 的一个特性。如其所写,您将“连接 'trimmed null
'”到值的末尾,这实际上没有意义。
查看 trim()
函数文档 - string
参数是必需的,因此它知道 trim.
的内容
如果你想像那样“链接”,你实际上需要像这样用 trim
包含值:
$value = trim( substr( $value, 1, $value_length ) );
就 PHP 而言,您可能会看到类似“嵌套”的“链接”函数。
就代码的作用而言,这是一种从值返回单位类型的相对复杂的方式 - 可能是为了查看它是否为 rem
、px
、%
- 等用于其他地方的其他计算。它可以简化很多(也许是带有正则表达式的单行),但这超出了这个问题的范围
在用 divi 制作的 wordpress 网站中,divi 主题中的 functions.php
文件包含 builder 文件夹,我在该行遇到间歇性错误:
$value = substr( $value, 1, $value_length ) . trim();
错误显示 Warning: trim() expects at least 1 parameter, 0 given
这是因为里面什么都没有吗trim?但是最后像这样链接它应该指的是它所链接的内容,对吗?所以 $value
的 substr
。这是否意味着 $value
只是没有给出?或者,当您得到 substr
时,那里就没有其他东西了?
很想用 javascript 的 console.log 看看现在周围到底有什么 :D 。是否有 php 等价物?或者某种用于开发工具的 php 插件,我可以在任何给定时刻看到变量?
有人知道这里的问题是什么吗?我什至不确定这段代码现在做了什么,我猜是与在某些文本上设置 css px 值有关...,并删除 !important
属性?
if ( ! function_exists( 'et_pb_get_value_unit' ) ) :
/**
* Get unit of given value
*
* @param string $value string with unit.
* @param string $default_unit default unit.
*
* @return string unit name
*/
function et_pb_get_value_unit( $value, $default_unit = 'px' ) {
$value = isset( $value ) ? $value : '';
$valid_one_char_units = array( '%', 'x' );
$valid_two_chars_units = array( 'em', 'px', 'cm', 'mm', 'in', 'pt', 'pc', 'ex', 'vh', 'vw', 'ms' );
$valid_three_chars_units = array( 'deg', 'rem' );
$important = '!important';
$important_length = strlen( $important );
$value_length = strlen( $value );
if ( '' === $value || is_numeric( $value ) ) {
return $default_unit;
}
if ( substr( $value, ( 0 - $important_length ), $important_length ) === $important ) {
$value_length = $value_length - $important_length;
$value = substr( $value, 1, $value_length ) . trim();
}
if ( in_array( substr( $value, -3, 3 ), $valid_three_chars_units, true ) ) {
return substr( $value, -3, 3 );
}
if ( in_array( substr( $value, -2, 2 ), $valid_two_chars_units, true ) ) {
return substr( $value, -2, 2 );
}
if ( in_array( substr( $value, -1, 1 ), $valid_one_char_units, true ) ) {
return substr( $value, -1, 1 );
}
return $default_unit;
}
endif;
像这样的链接是其他语言的一个特性(比如 JavaScript),但它 不是 PHP 的一个特性。如其所写,您将“连接 'trimmed null
'”到值的末尾,这实际上没有意义。
查看 trim()
函数文档 - string
参数是必需的,因此它知道 trim.
如果你想像那样“链接”,你实际上需要像这样用 trim
包含值:
$value = trim( substr( $value, 1, $value_length ) );
就 PHP 而言,您可能会看到类似“嵌套”的“链接”函数。
就代码的作用而言,这是一种从值返回单位类型的相对复杂的方式 - 可能是为了查看它是否为 rem
、px
、%
- 等用于其他地方的其他计算。它可以简化很多(也许是带有正则表达式的单行),但这超出了这个问题的范围