我想使用功能 array_key_first (PHP 7> = 7.3.0)。
我当前的PHP版本是 7.2
我使用corresponding PHP manual“用户贡献的注释”部分中所述的“填充”
如果我在polyfill所在的index.php中调用 array_key_first 函数,则一切正常。
如果我在PHP自行编写的类中调用 array_key_first 函数,则该函数无效。
如何定义“填充”,以便“全局”可用?
我不想定义一个用$ this-> array_key_first ...调用的类方法。
我在index.php文件中包含以下代码
if (!function_exists('array_key_first')) {
function array_key_first(array $array){
if (count($array)) {
reset($array);
return key($array);
}
return null;
}
}
感谢提示
答案 0 :(得分:0)
我相信您可以为此使用array_keys。
Array_keys将按顺序获得所有键,其中[0]是第一个。
$arr = ["m" => 0,"b" => 1, "k" => 2,"a" => 3];
$key = array_keys($arr)[0];
echo $key; //m
如果我们看这个例子,您会看到array_keys不会改变数组中的位置。
首先回显0,即键0。
然后我将其移动一步,并回显1。
然后我们做数组键,再次检查位置是什么,仍然是1。
https://3v4l.org/bhoEZ
答案 1 :(得分:0)
如果您不使用基于Composer的工作流来包含文件(当您首次需要autoload.php文件时可以自动包含文件),只有两种方法。
将<input type="checkbox" id="lock" onClick="locker()">
<input type="text"></input>
<input type="text"></input>
<input type="text"></input>
文件更改为“前置”一个文件(在运行主脚本之前包含一个PHP文件)
auto_prepend_file =“ / path / to / polyfill.php”
如果您使用共享主机,则不太可能更改php.ini文件。
polyfill定义如下功能:
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int ID { get; set; }
答案 2 :(得分:0)