Помогите из масива создать новый массив

в программировании совсем зеленый))

есть код который по апи записывает в базу данных дерево каталогов, мне нужно записать не все каталоги а только те которые относятся к эти категориям, тоесть нужны эти категории все те что пренадлежат к ним полностью все вложенные в них.

Вот так выглидет куссок массива оригинального

https://computer-servis.com.ua/engine333.php ссылка на массив

Помогите как это сделать как выбрать в новый массив то что мне нужно?

вот айди верхних категориий которые нужны

ID-категории=1181,ID-категории=1331,ID-категории=1330,ID-категории=1513,ID-категории=1266,ID-категории=1378,ID-категории=8162,ID-категории=1392


<?php
    function upCat($key)
    {
    $data = file_get_contents('http://api.brain.com.ua/categories/' . $key);
    $data = json_decode($data, 1);
    foreach ($data['result'] as $val)
    {
    if ($val['realcat'] != 0) {
    continue;}
    $sqlstr = "SELECT * FROM `SC_categories` WHERE `categoryID`='" . $val['categoryID'] .
    "'";
    $res = db_query($sqlstr);
    if (mysql_num_rows($res)) {
    continue;
    }
    $sqlstr = "INSERT INTO `SC_categories` SET
    `categoryID` ='$val[categoryID]',
    `parent`='$val[parentID]' ,
    `name_ru`='$val[name]'";
    db_query($sqlstr);
    echo $val['name'] . '<br/>';
    // прописываем айди фильтров в категории
    $sqlstr = "SELECT * FROM `SC_category__product_options` WHERE `categoryID`='$val[categoryID]' and 
    `optionID`= 20 ";
    $res = db_query($sqlstr);
    if (mysql_num_rows($res)) {
    //   echo "такое  уже есть". $filter['value']. "<br/>";
    } else {
    $sqlstr = "INSERT INTO `SC_category__product_options` SET 
    `optionID`= 20 , 
    `set_arbitrarily`= 0 ";
    db_query($sqlstr);  
    }        
    // прописываем варианты 18 характеристик в категориях 
    $sqlstr = "SELECT * FROM `SC_category_product_options__variants` WHERE 
    `categoryID`='$val[categoryID]' and `optionID`= 20 and `variantID`= 18 ";
    $res = db_query($sqlstr);
    if (mysql_num_rows($res)) {
    //   echo "такое  уже есть". $filter['value']. "<br/>";
    } else {
    $sqlstr = "INSERT INTO `SC_category_product_options__variants` SET 
    `categoryID`='$val[categoryID]',
    `optionID`= 20 , 
    `variantID`= 18 ";
    db_query($sqlstr);  
    }           
    // прописываем варианты 16 характеристик в категориях 
    $sqlstr = "SELECT * FROM `SC_category_product_options__variants` WHERE 
    `categoryID`='$val[categoryID]' and `optionID`= 20 and `variantID`= 16 ";
    $res = db_query($sqlstr);
    if (mysql_num_rows($res)) {
    //   echo "такое  уже есть". $filter['value']. "<br/>";
    } else {
    $sqlstr = "INSERT INTO `SC_category_product_options__variants` SET 
    `categoryID`='$val[categoryID]',
    `optionID`= 20 , 
    `variantID`= 16 ";
    db_query($sqlstr);  
    }       
    }
    }
    ini_set('display_errors', '1');
    error_reporting(E_ALL);
    define('START', time());
    require_once ('db.php');
    require_once ('key.php');
    upCat($key);
    echo '<br/>timer:' . (time() - START);

это код котолрый у меня работает но он закидывает все категории


Ответы (0 шт):