Extrakt [cat_ID] aus dem Array PHP

Lesezeit: 2 Minuten

Ich habe das folgende Array (nur ein Teil des vollständigen Arrays) und ich möchte den Wert von extrahieren [cat_ID].

Array ([1] => stdClass Object ( [term_id] => 21 [name] => z_aflyst [slug] => z_aflyst
[term_group] => 0 [term_taxonomy_id] => 23 [taxonomy] => category 
Extract [cat_ID] from array PHP => [parent] => 0 [count] => 1 [object_id] => 7 [cat_ID] => 21 
[cat_name] => z_aflyst ))

Also muss ich in diesem Fall die 21 extrahieren. Allerdings möchte ich nur die extrahieren cat_ID wenn die cat_name gleich z_aflyst.

  • Sicher, Sie könnten dies als Starter verwenden: stackoverflow.com/questions/7694843/…

    – bestesProgrammderWelt

    7. Mai 2014 um 10:47 Uhr

Benutzer-Avatar
ka_lin

Geben Sie an, dass Sie ein Array von Objekten haben:

Array (
[1] => stdClass Object 
( 
[term_id] => 21 
[name] => z_aflyst 
[slug] => z_aflyst
[term_group] => 0 
[term_taxonomy_id] => 23 
[taxonomy] => category 
Extract [cat_ID] from array PHP => 
[parent] => 0 
[count] => 1 
[object_id] => 7 
[cat_ID] => 21 
[cat_name] => z_aflyst )
)

foreach ($items as $item)
{
    if($item->cat_name == 'z_aflyst')
    {
        //do stuff
    }
}

  • woher kommen $items?

    – Reza Saberi

    7. Mai 2014 um 10:39 Uhr

  • Sie haben ein Array mit stdClass-Objekten (derzeit 1 Objekt) var_dump-ed, wie ich es sehen kann. Es wurde kein Code bereitgestellt …

    – ka_lin

    7. Mai 2014 um 10:40 Uhr


  • er nahm an $items=array(..your array..);

    – Rotari Radu

    7. Mai 2014 um 10:41 Uhr

  • Sie brauchen nicht zu foreach.. Dies wird alle Elemente durchlaufen, ohne dass dies erforderlich ist

    – Elzo Valugi

    7. Mai 2014 um 10:43 Uhr


  • @ Elzo Valugi: Warum? Er hat eine Reihe von Objekten.

    – ka_lin

    7. Mai 2014 um 10:50 Uhr

Sie haben eine Reihe von Standardobjekteauf deren Eigenschaften mit dem Pfeil-(Objekt-)Operator zugegriffen werden kann ->.

Sie können verwenden array_filter() So filtern Sie unerwünschte Elemente des Arrays heraus:

// Assuming your array is called $items
$filtered = array_filter($items, function($v) {
    return $v->cat_name === 'z_aflyst';
});

Danach können Sie das Array mit “abflachen”. array_map() damit es auf Wunsch nur die cat_ID enthält:

$filtered = array_map(function($v) {
    return $v->cat_ID;
}, $filtered);

Dadurch erhalten Sie ein eindimensionales, indiziertes Array von cat_IDs.

Benutzer-Avatar
Elzo Valugi

Ihr Array ist in diesem Beispiel etwas mehr als ein einfaches Array, es ist ein Standardobjekt. Und davon können Sie profitieren. Sie können die Eigenschaften eines Standardobjekts mit dieser Formel ermitteln:

$object->property;

in Ihrem Fall ist das Objekt

$object = $array[1];

oder nach dieser Formel als Array

$array[key];

in Ihrem Fall, um den Wert von cat_ID zu erhalten:

$object->cat_ID;

Ihr Code wird also ungefähr so ​​​​aussehen:

if ($object->cat_name == 'z_aflyst') {
     // do stuff with your cat_ID value
     echo $object->cat_ID;
}
// will echo 21 only of the cat_name has value 'z_aflyst'

1202240cookie-checkExtrakt [cat_ID] aus dem Array PHP

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy