Php 获取数组的键";“价值”;在函数中使用
我定义了一个数组:Php 获取数组的键";“价值”;在函数中使用,php,arrays,Php,Arrays,我定义了一个数组: $flatdata["body_font-family"] = "Arial"; 我想在函数中使用该数组值: function display_name($input) { showmethekeyofthearrayvalue($input); // how can I get the key name here? } echo display_name($flatdata["body_font-family"]); 因此,输出为: body_font-fam
$flatdata["body_font-family"] = "Arial";
我想在函数中使用该数组值:
function display_name($input) {
showmethekeyofthearrayvalue($input); // how can I get the key name here?
}
echo display_name($flatdata["body_font-family"]);
因此,输出为:
body_font-family
您可以这样尝试:
key($arr);
这将返回密钥名
从
key()返回当前数组位置的索引元素
或者您可以尝试使用
这个怎么样
function display_key($array, $val) {
while($array_pos = current($array)) {
if($array_pos == $val) {
return key($array);
}
}
}
echo display_key($flatdata, $flatdata["body_font-family"]);
我假设在您的示例中,
displaykey
应该是display\u name
如果是这样,您将无法通过传入数组元素(如
$flatdata[“body\u font-family”]
)来返回键,因为在这种情况下,您只传入一个特定的字符串,即Arial
,因此函数没有关于键的任何信息。PHP警告:key()希望参数1是数组,字符串givenSame问题和以前一样。现在工作完美,没想到会有解决方案。谢谢没问题:)我意外地返回了key($val)
而不是key($array)
首先您可能是对的。我还以为有某种PHP函数我不知道,但唉。@Taapo另一种想法是,在您的示例中,调用相当于display\u name('Arial')
function display_key($array, $val) {
while($array_pos = current($array)) {
if($array_pos == $val) {
return key($array);
}
}
}
echo display_key($flatdata, $flatdata["body_font-family"]);