2016-03-22 10 views
1

Ich habe ein Array, das Namen von Eltern besteht, möchte ich alle Ergebnisse, wo jeder der Name ist ein Elternteil. Hier ist mein code.Ich bin nicht in der Lage, die Liste der Namen zu erhalten, wo Eltern gleich den Namen in Distriktarray ist.Wie bekomme ich alle Ergebnisse wo Eltern ist ein Element aus einem Array

Hier ist mein vollständiger Code.

<?php 
$functionname = 'core_course_get_categories'; 
$username = array('key' => 'name', 'value' => '2016'); 
$params = array('criteria' => array($username)); 
$server_url = 'localhost/moodle' . '/webservice/rest/server.php' . '?wstoken=' . '9cdaccf3a7ad2f0f94922ccfd02559f4' . '&wsfunction=' . $functionname; 
$rest_format = 'json'; 
require_once('curl.inc'); 
$curl = new curl; 
$rest_format = ($rest_format == 'json') ? '&moodlewsrestformat=' . $rest_format : ''; 

$resp = $curl->post($server_url . $rest_format, $params); 
$res = json_decode($resp); 
// drupal_set_message('<pre>'. dpm($res) .'</pre>'); 
$district = array(); 
$Ctsc = array(); 
$School = array(); 
$Grade = array(); 
$parent = array(); 

foreach ($res as $r) { 
    $a = $r->parent; 
    $c = $r->name; 
    if ($a == 0) { 
     $b = $r->id; 
     var_export($b); 
    } 
} 
foreach ($res as $r) { 

    if ($r->parent == $b) { 
     //$dist=$r->name; 
     $district[] = $r->name; 
    } 
}  

$Ctsc[] = $r->description; 
$School[] = $r->sortorder; 
$Grade[] = $r->depth; 
foreach ($res as $r) {   
    $q = $r->name; 
    if (in_array($q['parent'], $district)) { 
     $Ctsc[] = $q->name; 
     dpm($Ctsc); 
    } 
    if ($Ctsc['parent'] == $district) { 

     dpm($Ctsc); 
    } 
} 

Antwort

0

Die Verwendung von in_array() ist falsch.

Statt

if(in_array($q['parent'] == $district)){ ... } 

Verwendung

if(in_array($q['parent'], $district)){ ... } 
+0

was soll ich echo die Namen zu bekommen @maxhb –

+0

Bitte geben Sie Ausgabe von 'var_export ($ res);' und 'var_export ($ b) ; ', damit wir die tatsächlichen Daten sehen können. – maxhb

+0

$ res besteht aus allen Ergebnisse als id (Integer) 7 (String, 10 Zeichen) Rawalpindi IDNumber (String, 1 Zeichen) 6 Beschreibung (String, 0 Zeichen) descriptionformat (Integer) 1 parent (Integer) 2 sortorder (Integer) 130000 coursecount (Integer) 0 sichtbar ist (Integer) 1 visibleold (Integer) 1 timemodified (Integer) 1458285536 Tiefe (Integer) 2 Pfad (String, 4 Zeichen)/2/7 Thema (NULL) –

Verwandte Themen