Php 警告:str_repeat()要求参数2很长,数组在
检查带电(底部)—— 错误-Php 警告:str_repeat()要求参数2很长,数组在,php,wordpress,Php,Wordpress,检查带电(底部)—— 错误-警告:str_repeat()预期参数2为长,数组在第56行的/home3/philpaol/public_html/cchoco.net/wp-content/desh/box/tl-custom-php/box.php中给出 box.php页面代码(第53行至第61行)- 公共函数html($depth){ 全球论文; $tab=str\u repeat(“\t”,!空($depth)?$depth:0); 回声 “$tab”.SutsLASH($->选项['Ca
警告:str_repeat()预期参数2为长,数组在第56行的/home3/philpaol/public_html/cchoco.net/wp-content/desh/box/tl-custom-php/box.php中给出
box.php页面代码(第53行至第61行)-
公共函数html($depth){
全球论文;
$tab=str\u repeat(“\t”,!空($depth)?$depth:0);
回声
“$tab”.SutsLASH($->选项['Calp')]。'它所说的精确代码<代码> $深度> /代码>是一个数组。考虑使用<代码> ItVall($深度)< /> >,并且定义函数如下:
function html($depth=0)
当函数需要整数时,$depth
变量是一个数组
检查$depth
变量
为了避免弹出此错误,您可以更改
str_repeat("\t", !empty($depth) ? $depth : 0)
到
这样,如果传递数组,它将只将第二个参数设置为1
在将$depth
变量传递给stru repeat
函数之前,您还可以通过调用
$depth = is_array($depth) ? array_shift($depth) : $depth;
或者,如果数组不是该数组的第一个索引,则从数组中检索所需的值,而不是array\u shift
。显示调用函数的位置,您似乎将数组作为$depth
传递。是否总是$depth
整数值?这只会中断函数。运行intval()在数组上,将只返回0或1,而不是函数正常工作所需的深度值。这将删除PHP错误,但会中断函数。修改答案以包括对数组的检查。它不应中断函数,因为它会将这种情况视为未传递任何深度(将其设置为0),他已经通过调用!empty($depth)在他的函数中使用了这个例子?$depth:0
bit0不是函数的适当值。使用不产生警告的代码与使用有效的代码不同。不,他应该使用当前深度值。假设当前深度值为0或1或数组的第一个值是错误的。需要更多信息(即-通过数组的内容和数组的内容)才能解决原始问题。
str_repeat("\t", !empty($depth) && is_long($depth) ? $depth : 1)
$depth = is_array($depth) ? array_shift($depth) : $depth;