Php 如何从数组中获取父项为项的所有结果

Php 如何从数组中获取父项为项的所有结果,php,arrays,drupal,Php,Arrays,Drupal,我有一个由父项名称组成的数组,我希望在任何名称为父项的情况下获得所有结果。这是我的代码。我无法获得父项与区域数组中的名称相等的名称列表 这是我的完整代码 <?php $functionname = 'core_course_get_categories'; $username = array('key' => 'name', 'value' => '2016'); $params = array('criteria' => array($username)); $serv

我有一个由父项名称组成的数组,我希望在任何名称为父项的情况下获得所有结果。这是我的代码。我无法获得父项与区域数组中的名称相等的名称列表

这是我的完整代码

<?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);
    }
}
在数组()中使用
是错误的

而不是

if(in_array($q['parent'], $district)){ ... }
使用

在数组()中使用
是错误的

而不是

if(in_array($q['parent'], $district)){ ... }
使用


我应该回显什么来获取@maxhb的名称请提供
var\u export($res)的输出
var_导出($b),因此我们可以看到实际数据。$res由所有结果组成,如id(整数)7名称(字符串,10个字符)Rawalpindi id编号(字符串,1个字符)6描述(字符串,0个字符)描述格式(整数)1父级(整数)2排序器(整数)130000课程计数(整数)0可见(整数)1可见旧(整数)1时间修改(整数)1458285536深度(整数)2路径(字符串,4个字符)/2/7主题(空)鉴于$b中有2个,所以您将所有名称存储在父项为2的
$district
中。然后您正在查找名称位于
$district
中的结果的名称?据我所知,您在
$district
中已经有该列表……我应该如何回音以获得名称@maxhb请提供
var\u expor的输出t($res);
var_export($b);
,因此我们可以看到实际数据。$res由所有结果组成,如id(整数)7 name(字符串,10个字符)Rawalpindi idnumber(字符串,1个字符)6 description(字符串,0个字符)descriptionformat(整数)1 parent(整数)2排序器(整数)130000课程计数(整数)0可见(整数)1可见旧(整数)1时间修改(整数)1458285536深度(整数)2路径(字符串,4个字符)/2/7主题(空)鉴于$b中有2个,所以您将所有名称存储在父项为2的
$district
中。然后您将查找名称位于
$district
中的结果名称?据我所知,您已经在
$district
中有该列表。。。