我必须使用array_search
获取数组键名,但它给我0和1而不是“login”或“home”
这是我的代码
$PAGINATOR = array("login" => array("permission" => false,
"auth" => false,
"title" => "Login",
"slug" => "?id=login",
"layout" => "pages/login.php",
"default" => true),
"home" => array("permission" => false,
"auth" => true,
"title" => "Home",
"slug" => "?id=home",
"layout" => "pages/home.php",
"default" => false));
array_search(true, array_column($PAGINATOR, 'default'))
答案 0 :(得分:1)
array_column
仅为仅发送column_key时选择的列提供数字键。你需要一个解决方法:
array_search(true,(array_combine(array_keys($PAGINATOR), array_column($PAGINATOR, 'default'))));
检查EVAL
<强>解释强>
从单个列返回值后,使用array_keys
获取原始数组的键。然后使用array_combine
组合键和值。
一步一步:
$a = array_column($PAGINATOR, 'default');
$b = array_keys($PAGINATOR);
$c = array_combine($b,$a);
$d = array_search(true,$c);
print_r($a);
print_r($b);
print_r($c);
print_r($d);
<强>打印强>
Array
(
[0] => 1
[1] =>
)
Array
(
[0] => login
[1] => home
)
Array
(
[login] => 1
[home] =>
)
login