2016-03-22 12 views
1

私は親の名前からなる配列を持っていますが、名前のいずれかが親であるすべての結果を取得したいと思います。これは私のコードです。親が地区配列の名前と等しい名前のリストを取得することはできません。parentが配列の項目であるすべての結果を取得する方法

ここに私の完全なコードです。

<?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); 
    } 
} 

答えて

0

in_array()の使用は間違っています。

代わり

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

使用

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

の私は何を 'でvar_export($ RES)の出力を入力してください@maxhb –

+0

名を取得するためにエコーべきである($ B)'と 'でvar_export ; '、実際のデータを見ることができます。 – maxhb

+0

$の解像度は、ID(整数)7 名(文字列、10文字)ラワルピンディ idnumber(文字列、1文字)6 説明(文字列、0文字) descriptionformat(整数)1 親(整数としてすべての結果から成り)2 SORTORDER(整数)130000 coursecount(整数)0 可視(整数)1 visibleold(整数)1 timemodified(整数)1458285536 深さ(整数)2 パス(文字、4文字)/ 2月7日 テーマ(NULL) –

関連する問題