2016-08-02 31 views
-2

Ich arbeite an einem Examen System und ich habe ein Problem für das Erhalten des richtigen Ergebnis. Ich möchte dieses Ergebnis aus den Antworten Array, das Spiel Frage ID 466Extract komplette Array von STD-Klasse multidimensionalen Array PHP

(
[id] => 234 
[firstChoice] => 2 
[choice] => 2 
[marked] => 
[strikethrough] => Array() 
[highlights] => 
[guessed] => 
[difficulty] => easy 
[numTimesChanged] => 
[timeElapsed] => 36 
) 

Ich habe diese Art von Antworten std Klasse Array. Ich habe die gleiche Art von Array für Fragen zu.

Array(
[0] => stdClass Object 
    (
     [id] => 234 
     [firstChoice] => 2 
     [choice] => 2 
     [marked] => 
     [strikethrough] => Array 
      (
      ) 

     [highlights] => 
     [guessed] => 
     [difficulty] => easy 
     [numTimesChanged] => 
     [timeElapsed] => 36 
    ) 

[1] => stdClass Object 
    (
     [id] => 466 
     [firstChoice] => 3 
     [choice] => 3 
     [marked] => 
     [strikethrough] => Array 
      (
      ) 

     [highlights] => 
     [guessed] => 
     [difficulty] => easy 
     [numTimesChanged] => 
     [timeElapsed] => 5 
    ) 
) 
+1

Was hat du _tri ed_? – bwoebi

+0

Ich würde empfehlen, die ID als Schlüssel bei der Datengenerierung zu setzen, wenn möglich. –

Antwort

0

Try this:

$result = null; 
foreach($array as $value){ 
    if($value->id == 466){ 
     $result = $value; 
     break; 
    } 
} 
0

Im Fall Ihrer ID nicht eindeutig ist, Sie array_filter()

Lösung verwenden:

<?php 

$array = json_decode('[{"id":4,"data":"data1"},{"id":14,"data":"data41"},{"id":14,"data":"data14"}]'); 

$idSearched = 14; 

function filter($item){ 
    global $idSearched; 
    return $item->id === $idSearched; 
} 

$res = array_filter($array, "filter"); 
print_r($res); 

Live example