主表列表查詢子表合并數(shù)組 類似tp5關(guān)聯(lián)模型


/**

* @param $oneArray 第一個(gè)數(shù)組

* @param $twoArray 第二個(gè)數(shù)組

* @param $oneField 第一個(gè)數(shù)組的字段

* @param $towField 第二個(gè)數(shù)組的字段

* @param $sub 子集索引名

* @param bool $is_unset 是否刪除子集為空的項(xiàng)

* @return bool

*/

function mergeSubArray(&$oneArray, $twoArray,$oneField, $towField, $sub,$is_unset=false)
{
    if (!is_array($oneArray) || !is_array($twoArray)) {
        return false;
    }
    $result = array();
    foreach ($twoArray as $k => $v) {
        $result[$v[$towField]][] = $v;
    }
    foreach ($oneArray as $k1 => $v) {
        foreach ($result as $k2 => $item) {
            if ($k2 = $v[$oneField]) {
                $oneArray[$k1][$sub] = isset($result[$k2])?$result[$k2]:[];
                if ($is_unset&&empty($oneArray[$k1][$sub])){
                    unset($oneArray[$k1]);
                }
                 break;//continue; 
            }
        }
    }
    $oneArray = array_values($oneArray); //重新生成索引
}

$this->mergeSubArray($one,$two,'id','adp_id','ad');

$one 就是合并后的數(shù)組

數(shù)組$one


1.png

數(shù)組$two


2.png

合并后數(shù)組$one


3.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容