Heim  >  Fragen und Antworten  >  Hauptteil

Gibt es eine Möglichkeit, bestimmte „Spalten“ aus einem PHP-Array abzurufen?

Ich habe ein Array von Arrays mit der folgenden Struktur:

array(array('page' => 'page1', 'name' => 'pagename1')
      array('page' => 'page2', 'name' => 'pagename2')
      array('page' => 'page3', 'name' => 'pagename3'))

Gibt es eine integrierte Funktion, die ein neues Array zurückgibt, das nur den Schlüsselwert „name“ enthält? Also bekomme ich:

array('pagename1', 'pagename2', 'pagename3')


P粉423694341P粉423694341334 Tage vor642

Antworte allen(2)Ich werde antworten

  • P粉514001887

    P粉5140018872023-10-21 17:49:30

    PHP 5.5 开始,您可以使用 array_column()

    <?php
    $samples=array(
                array('page' => 'page1', 'name' => 'pagename1'),
                array('page' => 'page2', 'name' => 'pagename2'),
                array('page' => 'page3', 'name' => 'pagename3')
                );
    $names = array_column($samples, 'name');
    print_r($names);

    查看实际操作

    Antwort
    0
  • P粉042455250

    P粉0424552502023-10-21 11:46:32

    为什么它必须是内置函数?不,没有,自己写。

    与本线程中的其他内容相比,这是一个很好且简单的方法。

    $namearray = array();
    
    foreach ($array as $item) {
        $namearray[] = $item['name'];
    }

    在某些情况下,如果键没有命名,您可以这样做

    $namearray = array();
    
    foreach ($array as $key => $value) {
        $namearray [] = $value;
    }

    Antwort
    0
  • StornierenAntwort