在一個用divi制作的wordpress網站中,在divi主題包含的builder檔案夾中的functions.php檔案中,我得到了一個間歇性的錯誤:
$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'/span> ) :
/***。
* 獲取給定值的單位
*
* @param string $value 帶單位的字串。
* @param string $default_unit 默認單位。
*
* @return string 單位名稱。
*/
function et_pb_get_value_unit( $value, $default_unit = 'px' ) {
$value = isset( $value ) ? $value : ''/span>;
$valid_one_char_units = array( '%', 'x' ) 。
$valid_two_chars_units = array( 'em'/span>, 'px'/span>, 'cm'/span>, 'mm', 'in'/span>, 'pt'/span>, 'pc'/span>, 'ex'/span>, '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;
uj5u.com熱心網友回復:
像這樣的鏈是其他語言(如JavaScript)的一個特點,但是它不是PHP的一個特點。按照它的寫法,你在值的末尾 "連接了一個'修剪過的null'",這其實是沒有意義的。
看看trim()函式檔案 - string引數是必需的,以便它知道要修剪什么。
如果你想這樣 "連鎖",你實際上需要用trim來包含這個值,像這樣:
$value = trim( substr( $value, 1, $value_length ) );
你可能會看到像這樣的 "鏈式 "函式被稱為 "嵌套",就PHP而言,
。至于這段代碼在做什么,這是一個相對復雜的方法,從一個值中回傳單位型別--可能是為了看它是否是rem, px, %--等等,以便在其他地方使用其他計算。它可以被簡化很多(也許是用regex的單行),但這超出了這個問題的范圍
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/307834.html
標籤:
