2017-01-15 4 views
0

Ich habe den Array-Schlüssel Namen array_search bekommen, aber es gibt mir 0 und 1 und nicht als "Login" oder "home"Schlüssel Get

dies ist mein Code

$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

, was Sie aus Ihrem Programm machen wollen? –

Antwort

1

array_column gibt nur numerische Schlüssel für die ausgewählte Spalte, wenn nur column_key gesendet wird. Sie benötigen eine Arbeit um statt:

array_search(true,(array_combine(array_keys($PAGINATOR), array_column($PAGINATOR, 'default')))); 

prüfen EVAL


Erläuterung:

Nach Werte aus einer einzigen Spalte, holen die Schlüssel des ursprünglichen Arrays array_keys mit der Rückkehr. Dann mit array_combine kombinieren Sie die Schlüssel und Werte.


Schritt für Schritt:

$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); 

Drucke:

Array 
(
    [0] => 1 
    [1] => 
) 

Array 
(
    [0] => login 
    [1] => home 
) 

Array 
(
    [login] => 1 
    [home] => 
) 

login