我最近移动了cpanel托管,我有以下错误,如果你可以帮助我,我无法解决。谢谢
File: /public_html/admin/users.php
Line: 180
Message: array_keys() expects parameter 1 to be array, boolean given
Call stack:
File: /public_html/admin/users.php (Line: 180)
Function: array_keys
第180行:
<th><?php echo implode('</th><th>', array_keys(current($recruits))); ?></th>
答案 0 :(得分:0)
错误说明了自己。显然,您想将数组键与th
元素连接起来,但是请看看current
和array_keys
的实际作用和要求使其正常工作,文档是不言自明的,但是我将在下面写一些示例,希望可以帮助您理解。
array_keys将从关联数组中提取密钥,例如:
$mySpecialArray = ["key1" => "value1", "key2" => "value 2"];
$keys = array_keys($mySpecialArray);
//$keys will contain "key1", "key2"
//I feel you're new to php, so I'm going to write an example of implode aswell
$implodeStringWithComma = implode(',', $keys);
//$implodeStringWithComma will result in a string like this --> "key1,key2"
$implodeStringWithTh = implode('</th><th>', $keys)
//$implodeStringWithTh will result in a string like this --> "key1</th><th>key2"
您的错误指出,array_keys内部不是数组,这是因为array_keys内部是current($recruits)
,并且错误告诉您current($recruits)
是布尔值。那么,电流有什么作用?
“ current()函数仅返回内部指针当前指向的数组元素的值。 警告 此函数可以返回布尔FALSE,但也可以返回非布尔值,其值为FALSE。 “
没有进一步解释$recruits
的内容和目的,不能为您提供更多帮助,但是我猜您正在$recruits
中从结果转向结果。我相信$recruits
是一个多维数组,其中包括以下几行:
$recruits[0] => ["key1" => "value1", "key2" => "value2", "key3" => "value3"];
$recruits[1] => ["key4" => "value4", "key5" => "value5", "key6" => "value6"];
.
.
.
我还猜测您正在使用内部指针在数组之间循环(当您使用current($ recruits)时,当您执行{{1}时,它相当于$recruits[0]
},再到next($recruits)
,当前将为您提供下一个数组,与current($recruits)
等价,例如$recruits[1]
将为您提供end($recruits)
的最后一个数组)。您的代码很可能指向(如文档所述)指向数组之外的东西,或者数组为空。