0

ich eine Seite, benutzen Sie einfach Daten zu speichern, die ich erweiterte benutzerdefiniertes Feld in Wordpress verwenden müssen, und ich nannte es page_categories-animation.phpWie Array erhalten, wenn Übereinstimmung der Wert ist, dann

In meinem index.php, schrieb ich diesen

// get post id from page feature animation categories 
$anim_id = url_to_postid('feature-animation-categories'); 
// get all the data from it 
$variable = get_field('animCategory', $anim_id); 

print_r($variable); 

Die Ausgabe von $ variable wie dies (es ist eigentlich 20 Arrays aber ich benutze 2-Arrays nur so einfach zu verstehen)

Array 
(
    [0] => Array 
     (
      [category_name] => Coffee Machines 
      [categoryId] => 12 
      [animateTitle] => Better ways to cleaner dishes. 
      [animateIcon] => 
      [animateLink] => http://google.com 
      [animateBG] => 
      [fram1] => Array 
       (
        [ID] => 315 
        [id] => 315 
        [title] => coffee-frame1 
        [filename] => coffee-frame1.png 
       ) 

      [fram2] => Array 
       (
        [ID] => 316 
        [id] => 316 
        [title] => coffee-frame2 
        [filename] => coffee-frame2.png 
       ) 
     ) 

    [1] => Array 
     (
      [category_name] => Cooking & Baking 
      [categoryId] => 13 
      [animateTitle] => Better ways to cleaner dishes. 
      [animateIcon] => 
      [animateLink] => http://google.com 
      [animateBG] => 
      [fram1] => Array 
       (
        [ID] => 318 
        [id] => 318 
        [title] => cookie-frame1 
        [filename] => cookie-frame1.png 
       ) 

      [fram2] => Array 
       (
        [ID] => 319 
        [id] => 319 
        [title] => cookie-frame2 
        [filename] => cookie-frame2.png 
       ) 
     ) 
) 

Meine Frage ist: Wie kann ich das Array verwenden können, um den Wert, in diesem Fall passen einfach davon ausgehen, wir haben bereits categoryId 13 und ich möchte, um das Array greifen, die categoryId 13 und verwenden Sie es haben.

+0

Was versuchen Sie mit dem Ergebnis? Warum nicht einfach das $ variable Array durchlaufen und das Ergebnis filtern? – silver

+0

@silver Ich will nur die Daten und wenden Sie es in meinem div, nichts Schickes oder Kompliziertes denke ich. Ich bin nicht gut genug mit PHP, nur diese Idee ist Popup in meinem Kopf T_T, ich denke, das ist einfacher für mich. – caberg

Antwort

2

Dies funktioniert:

$use_array = []; 

foreach($variable as $v) // loop through your array of data 
{ 
    if($v['categoryId'] == 13) // look for categoryId = 13 
    { 
     $use_array = $v; // save this array for later use 
     break; // quit looping to save processing time and resources 
    } 
} 

print_r($use_array); // this will be your array with categoryId = 13 
+0

plus eins für ultra schnelle Antwort, es funktioniert jetzt^_^ – caberg

+0

@caberg nett !!! – MonkeyZeus

1

können Sie einfach filtern Sie einfach Ihre Array wie so

http://ideone.com/cingTP

Ihr Array

$variable = [ 
    "0" => [ 
     "category_name" => 'Coffee Machines', 
     "categoryId" => 12, 
     "animateTitle" => 'Better ways to cleaner dishes.', 
     "animateIcon" => '', 
     "animateLink" => 'http://google.com', 
     "animateBG" => "", 
     "fram1" => [ 
      "ID" => 315, 
      "id" => 315, 
      "title" => 'coffee-frame1', 
      "filename" => 'coffee-frame1.png', 
     ], 
     "fram2" => [ 
      "ID" => 316, 
      "id" => 316, 
      "title" => 'coffee-frame2', 
      "filename" => 'coffee-frame2.png', 
     ] 
    ], 
    "1" => [ 
     "category_name" => 'Cooking & Baking', 
     "categoryId" => 13, 
     "animateTitle" => 'Better ways to cleaner dishes.', 
     "animateIcon" => '', 
     "animateLink" => 'http://google.com', 
     "animateBG" => '', 
     "fram1" => [ 
      "ID" => 318, 
      "id" => 318, 
      "title" => 'cookie-frame1', 
      "filename" => 'cookie-frame1.png', 
     ], 
     "fram2" => [ 
      "ID" => 319, 
      "id" => 319, 
      "title" => 'cookie-frame2', 
      "filename" => 'cookie-frame2.png', 
     ] 
    ] 
]; 

Lösung

$result = array_filter($variable, function($item) { 
    return $item['categoryId'] == 13; 
}); 

print_r($result); 
+0

leider funktioniert das nicht für mich, dieses leere Array zurück – caberg

+0

Ich verwandelte Ihre Ausgabe-Array in PHP-Array und lieferte dann diese Antwort. :) Meine Antwort aktualisiert, so werfen Sie einen Blick –

+0

Kopieren Sie Ihre PHP-Array und Ihren Code, es ist immer noch leer – caberg

Verwandte Themen