繁体   English   中英

如何从 PHP 中的 JSON API 端点数据获取分层树结构?

[英]How to get hierarchical tree structure from JSON API endpoint data in PHP?

我的 JSON 端点 API output 数据来自 Z0ECD11C1D7A287421D148A23BBBD7 格式的数据库。 这是我在调用 api 时的 output 数据的结构

print_r($allItems->data);

Array ( [0] => stdClass Object ( [mma_mid] => 1 [mma_nam] => Data Entry [mma_pid] => 0 [mma_url] => iDEntry ) [1] => stdClass Object ( [mma_mid] => 2 [mma_nam] => Reports [mma_pid] => 0 [mma_url] => iReports ) [2] => stdClass Object ( [mma_mid] => 3 [mma_nam] => Utilities [mma_pid] => 0 [mma_url] => iUtils ) [3] => stdClass Object ( [mma_mid] => 4 [mma_nam] => Extras [mma_pid] => 0 [mma_url] => iExit ) [4] => stdClass Object ( [mma_mid] => 5 [mma_nam] => Order [mma_pid] => 1 [mma_url] => iEstmAdd ) [5] => stdClass Object ( [mma_mid] => 6 [mma_nam] => Vouchres [mma_pid] => 1 [mma_url] => VchMast ) [6] => stdClass Object ( [mma_mid] => 7 [mma_nam] => Billing [mma_pid] => 1 [mma_url] => iWBill ) [7] => stdClass Object ( [mma_mid] => 8 [mma_nam] => Production [mma_pid] => 1 [mma_url] => ProdMstr ) [8] => stdClass Object ( [mma_mid] => 9 [mma_nam] => Purchase [mma_pid] => 1 [mma_url] => PurMstr ) [9] => stdClass Object ( [mma_mid] => 10 [mma_nam] => Issues [mma_pid] => 1 [mma_url] => issubrow ) [10] => stdClass Object ( [mma_mid] => 11 [mma_nam] => Post dated voucher [mma_pid] => 1 [mma_url] => PendVchr ) [11] => stdClass Object ( [mma_mid] => 12 [mma_nam] => Damage\other issue [mma_pid] => 1 [mma_url] => iDamAdd ) [12] => stdClass Object ( [mma_mid] => 13 [mma_nam] => Forms [mma_pid] => 1 [mma_url] => aFtrMenu ) [13] => stdClass Object ( [mma_mid] => 14 [mma_nam] => Debit/Credit Note [mma_pid] => 1 [mma_url] => DcMaster ) [14] => stdClass Object ( [mma_mid] => 15 [mma_nam] => Fixed Asset [mma_pid] => 1 [mma_url] => aFixMenu ) [15] => stdClass Object ( [mma_mid] => 16 [mma_nam] => Machinery [mma_pid] => 1 [mma_url] => MachFl ) [16] => stdClass Object ( [mma_mid] => 17 [mma_nam] => Leave etc. [mma_pid] => 1 [mma_url] => LvMaster ) [17] => stdClass Object ( [mma_mid] => 18 [mma_nam] => Ingrediants [mma_pid] => 1 [mma_url] => aIngrMen ) [18] => stdClass Object ( [mma_mid] => 19 [mma_nam] => Barcode Sales order [mma_pid] => 1 [mma_url] => BCodeOrd ) [19] => stdClass Object ( [mma_mid] => 20 [mma_nam] => Hrd [mma_pid] => 1 [mma_url] => HrdProg ) [20] => stdClass Object ( [mma_mid] => 21 [mma_nam] => Transfer stock [mma_pid] => 1 [mma_url] => aTraMenu ) [21] => stdClass Object ( [mma_mid] => 22 [mma_nam] => Dealer Details [mma_pid] => 1 [mma_url] => DealeDet ) [22] => stdClass Object ( [mma_mid] => 23 [mma_nam] => Specification [mma_pid] => 1 [mma_url] => aSpecMenu ) [23] => stdClass Object ( [mma_mid] => 24 [mma_nam] => Bay Master [mma_pid] => 1 [mma_url] => aBayMenu ) [24] => stdClass Object ( [mma_mid] => 25 [mma_nam] => Master Barcode [mma_pid] => 1 [mma_url] => aMastBar ) [25] => stdClass Object ( [mma_mid] => 26 [mma_nam] => Purchase Order menu [mma_pid] => 1 [mma_url] => PrchOrd ) [26] => stdClass Object ( [mma_mid] => 27 [mma_nam] => Job Card [mma_pid] => 1 [mma_url] => aJobMenu ) [27] => stdClass Object ( [mma_mid] => 28 [mma_nam] => Passbook [mma_pid] => 1 [mma_url] => aSpMenu ) [28] => stdClass Object ( [mma_mid] => 29 [mma_nam] => Incentives [mma_pid] => 1 [mma_url] => incut ) [29] => stdClass Object ( [mma_mid] => 30 [mma_nam] => Spare Request [mma_pid] => 1 [mma_url] => SpareHis ) [30] => stdClass Object ( [mma_mid] => 31 [mma_nam] => Conversion Menu [mma_pid] => 1 [mma_url] => aConvMenu ) [31] => stdClass Object ( [mma_mid] => 32 [mma_nam] => Shop Invoice- 1 [mma_pid] => 1 [mma_url] => iShopInv ) [32] => stdClass Object ( [mma_mid] => 33 [mma_nam] => Barcode Invoice [mma_pid] => 1 [mma_url] => iBBill ) [33] => stdClass Object ( [mma_mid] => 34 [mma_nam] => Substore Sales Order [mma_pid] => 1 [mma_url] => iEstmAdd ) [34] => stdClass Object ( [mma_mid] => 35 [mma_nam] => Substore billing [mma_pid] => 1 [mma_url] => SubStOne ) [35] => stdClass Object ( [mma_mid] => 36 [mma_nam] => Issue barcoded Items [mma_pid] => 1 [mma_url] => aBarMenu ) [36] => stdClass Object ( [mma_mid] => 37 [mma_nam] => Miscellaneous Issue [mma_pid] => 1 [mma_url] => iMiscIsu ) [37] => stdClass Object ( [mma_mid] => 38 [mma_nam] => Subst. Return to Main. Store [mma_pid] => 1 [mma_url] => iRt2Main ) [38] => stdClass Object ( [mma_mid] => 39 [mma_nam] => Complaint Register [mma_pid] => 1 [mma_url] => CmpltReg ) [39] => stdClass Object ( [mma_mid] => 40 [mma_nam] => Case Diary [mma_pid] => 1 [mma_url] => CaseDia ) [40] => stdClass Object ( [mma_mid] => 41 [mma_nam] => Receipt [mma_pid] => 1 [mma_url] => iEVchRec ) [41] => stdClass Object ( [mma_mid] => 42 [mma_nam] => Entries to upload [mma_pid] => 1 [mma_url] => aUpload ) [42] => stdClass Object ( [mma_mid] => 43 [mma_nam] => Company Calender [mma_pid] => 1 [mma_url] => CmpCal ) [43] => stdClass Object ( [mma_mid] => 44 [mma_nam] => Freezer System [mma_pid] => 1 [mma_url] => frezrdet ) [44] => stdClass Object ( [mma_mid] => 45 [mma_nam] => Board order details [mma_pid] => 1 [mma_url] => BoardDet ) [45] => stdClass Object ( [mma_mid] => 46 [mma_nam] => Sales Register [mma_pid] => 2 [mma_url] => iSaleReg ) [46] => stdClass Object ( [mma_mid] => 47 [mma_nam] => Excise Reports [mma_pid] => 2 [mma_url] => aExcMen ) [47] => stdClass Object ( [mma_mid] => 48 [mma_nam] => Stock Stmnt [mma_pid] => 2 [mma_url] => iStockSt ) [48] => stdClass Object ( [mma_mid] => 49 [mma_nam] => Cash/Bank Book [mma_pid] => 2 [mma_url] => iCashBk ) [49] => stdClass Object ( [mma_mid] => 50 [mma_nam] => Trial Balance [mma_pid] => 2 [mma_url] => iTrialBl ) [50] => stdClass Object ( [mma_mid] => 51 [mma_nam] => Sub A/c Stmnt [mma_pid] => 2 [mma_url] => iSubst ) [51] => stdClass Object ( [mma_mid] => 52 [mma_nam] => Accts Ledger [mma_pid] => 2 [mma_url] => iALedger ) [52] => stdClass Object ( [mma_mid] => 53 [mma_nam] => Journal Book [mma_pid] => 2 [mma_url] => iJournal ) [53] => stdClass Object ( [mma_mid] => 54 [mma_nam] => Stock Ledger [mma_pid] => 2 [mma_url] => iSLedger ) [54] => stdClass Object ( [mma_mid] => 55 [mma_nam] => Sales Report [mma_pid] => 2 [mma_url] => iSaleRep ) [55] => stdClass Object ( [mma_mid] => 56 [mma_nam] => Data Checking [mma_pid] => 2 [mma_url] => DataChk ) [56] => stdClass Object ( [mma_mid] => 57 [mma_nam] => Shop Reports [mma_pid] => 2 [mma_url] => aShopMen ) [57] => stdClass Object ( [mma_mid] => 58 [mma_nam] => Profit and Loss A/c [mma_pid] => 2 [mma_url] => iProfLos ) [58] => stdClass Object ( [mma_mid] => 59 [mma_nam] => Wastage analysis [mma_pid] => 2 [mma_url] => WastNew ) [59] => stdClass Object ( [mma_mid] => 60 [mma_nam] => Log Sheet [mma_pid] => 2 [mma_url] => aLogMen ) [60] => stdClass Object ( [mma_mid] => 61 [mma_nam] => Increment Reports [mma_pid] => 2 [mma_url] => aIncMen ) [61] => stdClass Object ( [mma_mid] => 62 [mma_nam] => Special Reports [mma_pid] => 2 [mma_url] => aSplMen ) [62] => stdClass Object ( [mma_mid] => 63 [mma_nam] => Stock and Inventory [mma_pid] => 2 [mma_url] => aStkMen ) [63] => stdClass Object ( [mma_mid] => 64 [mma_nam] => Location wise stock [mma_pid] => 2 [mma_url] => iChkStor ) [64] => stdClass Object ( [mma_mid] => 65 [mma_nam] => Freezer Details [mma_pid] => 2 [mma_url] => aFrezMen ) [65] => stdClass Object ( [mma_mid] => 66 [mma_nam] => Purchase Register [mma_pid] => 2 [mma_url] => iPrchReg ) [66] => stdClass Object ( [mma_mid] => 67 [mma_nam] => Hrd Menu [mma_pid] => 2 [mma_url] => aHrdMen ) [67] => stdClass Object ( [mma_mid] => 68 [mma_nam] => VAT Reports [mma_pid] => 2 [mma_url] => aVatRep ) [68] => stdClass Object ( [mma_mid] => 69 [mma_nam] => Manufacturing Account [mma_pid] => 2 [mma_url] => iManAct ) [69] => stdClass Object ( [mma_mid] => 70 [mma_nam] => Consolidated Acts Ledger [mma_pid] => 2 [mma_url] => iConsAct ) [70] => stdClass Object ( [mma_mid] => 71 [mma_nam] => Special Discount Report [mma_pid] => 2 [mma_url] => iDiscSum ) [71] => stdClass Object ( [mma_mid] => 72 [mma_nam] => Machine wise Prod. Report [mma_pid] => 2 [mma_url] => aMacMen ) [72] => stdClass Object ( [mma_mid] => 73 [mma_nam] => Part stock check report [mma_pid] => 2 [mma_url] => iStkPart ) [73] => stdClass Object ( [mma_mid] => 74 [mma_nam] => MIS Reports [mma_pid] => 2 [mma_url] => aMisMen ) [74] => stdClass Object ( [mma_mid] => 75 [mma_nam] => Remove Index Files [mma_pid] => 3 [mma_url] => Delfilin ) [75] => stdClass Object ( [mma_mid] => 76 [mma_nam] => Backup Data [mma_pid] => 3 [mma_url] => fBackup ) [76] => stdClass Object ( [mma_mid] => 77 [mma_nam] => Load Manuals [mma_pid] => 3 [mma_url] => iSeleMnl ) [77] => stdClass Object ( [mma_mid] => 78 [mma_nam] => Upd. Opening Bal [mma_pid] => 3 [mma_url] => aOBalMen ) [78] => stdClass Object ( [mma_mid] => 79 [mma_nam] => Status Report [mma_pid] => 3 [mma_url] => iStatRep ) [79] => stdClass Object ( [mma_mid] => 80 [mma_nam] => Delete Bre [mma_pid] => 3 [mma_url] => iRemBre ) [80] => stdClass Object ( [mma_mid] => 81 [mma_nam] => Send to Exchange [mma_pid] => 3 [mma_url] => iSLo2Ex ) [81] => stdClass Object ( [mma_mid] => 82 [mma_nam] => Send to File [mma_pid] => 3 [mma_url] => iSLo2Dsk ) [82] => stdClass Object ( [mma_mid] => 83 [mma_nam] => Send via Exchange [mma_pid] => 3 [mma_url] => iSViaEx ) [83] => stdClass Object ( [mma_mid] => 84 [mma_nam] => Receive from Exchange [mma_pid] => 3 [mma_url] => iREx2Lo ) [84] => stdClass Object ( [mma_mid] => 85 [mma_nam] => Receive from File [mma_pid] => 3 [mma_url] => iRDsk2Lo ) [85] => stdClass Object ( [mma_mid] => 86 [mma_nam] => Receive via Exchange [mma_pid] => 3 [mma_url] => iRViaEx ) [86] => stdClass Object ( [mma_mid] => 87 [mma_nam] => Pack Files [mma_pid] => 3 [mma_url] => iSelPack ) [87] => stdClass Object ( [mma_mid] => 88 [mma_nam] => Change Account transaction [mma_pid] => 3 [mma_url] => iChgNCod ) [88] => stdClass Object ( [mma_mid] => 89 [mma_nam] => Change Inventory transaction [mma_pid] => 3 [mma_url] => iChgICod ) [89] => stdClass Object ( [mma_mid] => 90 [mma_nam] => EDP Test (Salim) [mma_pid] => 3 [mma_url] => aSalim ) [90] => stdClass Object ( [mma_mid] => 91 [mma_nam] => EDP Test (Gopi) [mma_pid] => 3 [mma_url] => aTEdpMen ) [91] => stdClass Object ( [mma_mid] => 92 [mma_nam] => General [mma_pid] => 3 [mma_url] => aGeneral ) [92] => stdClass Object ( [mma_mid] => 93 [mma_nam] => Miscellaneous transfer [mma_pid] => 3 [mma_url] => MisTrans ) [93] => stdClass Object ( [mma_mid] => 94 [mma_nam] => EDP Test (Sreemol) [mma_pid] => 3 [mma_url] => aSreemol ) [94] => stdClass Object ( [mma_mid] => 95 [mma_nam] => EDP Test (Silu) [mma_pid] => 3 [mma_url] => aSilu ) [95] => stdClass Object ( [mma_mid] => 96 [mma_nam] => Current User List [mma_pid] => 3 [mma_url] => iUseList ) [96] => stdClass Object ( [mma_mid] => 97 [mma_nam] => Sales Tax forms [mma_pid] => 3 [mma_url] => sTaxBrow ) [97] => stdClass Object ( [mma_mid] => 98 [mma_nam] => Barcode Print [mma_pid] => 3 [mma_url] => aBarCMen ) [98] => stdClass Object ( [mma_mid] => 99 [mma_nam] => Punching Details [mma_pid] => 3 [mma_url] => aPunchMen ) [99] => stdClass Object ( [mma_mid] => 100 [mma_nam] => Salary Slip\Leave report [mma_pid] => 3 [mma_url] => aSalary ) [100] => stdClass Object ( [mma_mid] => 101 [mma_nam] => Replace Misc. Item Name [mma_pid] => 3 [mma_url] => ReplName ) [101] => stdClass Object ( [mma_mid] => 102 [mma_nam] => Change Quantity Discount [mma_pid] => 3 [mma_url] => iChgqdi ) [102] => stdClass Object ( [mma_mid] => 103 [mma_nam] => List of Carriage Outward [mma_pid] => 3 [mma_url] => iCoutRep ) [103] => stdClass Object ( [mma_mid] => 104 [mma_nam] => Substore [mma_pid] => 3 [mma_url] => Substbrw ) [104] => stdClass Object ( [mma_mid] => 105 [mma_nam] => Error List [mma_pid] => 3 [mma_url] => iErrView ) [105] => stdClass Object ( [mma_mid] => 106 [mma_nam] => Advance [mma_pid] => 3 [mma_url] => aAdvMen ) [106] => stdClass Object ( [mma_mid] => 107 [mma_nam] => Send - Receive Status [mma_pid] => 3 [mma_url] => iStaSeRe ) [107] => stdClass Object ( [mma_mid] => 108 [mma_nam] => Overtime Statement [mma_pid] => 3 [mma_url] => iOtSlip ) [108] => stdClass Object ( [mma_mid] => 109 [mma_nam] => Un cleared check status [mma_pid] => 3 [mma_url] => iChkPass ) [109] => stdClass Object ( [mma_mid] => 110 [mma_nam] => Set/Reset Right [mma_pid] => 3 [mma_url] => iStRight ) [110] => stdClass Object ( [mma_mid] => 111 [mma_nam] => View clear Bank balance [mma_pid] => 3 [mma_url] => iActBal ) [111] => stdClass Object ( [mma_mid] => 112 [mma_nam] => Price History (All Items) [mma_pid] => 3 [mma_url] => iPriHist ) [112] => stdClass Object ( [mma_mid] => 113 [mma_nam] => View Single Item Price/Mrp [mma_pid] => 3 [mma_url] => iVPriMrp ) [113] => stdClass Object ( [mma_mid] => 114 [mma_nam] => Browse Files [mma_pid] => 133 [mma_url] => iFMs ) [114] => stdClass Object ( [mma_mid] => 115 [mma_nam] => Change Password [mma_pid] => 4 [mma_url] => iChgPass ) [115] => stdClass Object ( [mma_mid] => 116 [mma_nam] => Version Number [mma_pid] => 4 [mma_url] => iProgDet ) [116] => stdClass Object ( [mma_mid] => 117 [mma_nam] => SMS Program [mma_pid] => 4 [mma_url] => SmsProgm ) [117] => stdClass Object ( [mma_mid] => 118 [mma_nam] => Email Program [mma_pid] => 4 [mma_url] => iEmail ) [118] => stdClass Object ( [mma_mid] => 119 [mma_nam] => Remainder [mma_pid] => 4 [mma_url] => aCalMen ) [119] => stdClass Object ( [mma_mid] => 120 [mma_nam] => Print text file [mma_pid] => 4 [mma_url] => PrnText ) [120] => stdClass Object ( [mma_mid] => 121 [mma_nam] => Account Head File [mma_pid] => 132 [mma_url] => aActMenu ) [121] => stdClass Object ( [mma_mid] => 122 [mma_nam] => Change Level [mma_pid] => 4 [mma_url] => sChgLevel ) [122] => stdClass Object ( [mma_mid] => 123 [mma_nam] => Add a New File [mma_pid] => 133 [mma_url] => iFlCreat ) [123] => stdClass Object ( [mma_mid] => 124 [mma_nam] => Delete a File [mma_pid] => 133 [mma_url] => iFlDel ) [124] => stdClass Object ( [mma_mid] => 125 [mma_nam] => Modify File Details [mma_pid] => 133 [mma_url] => iFlModi ) [125] => stdClass Object ( [mma_mid] => 126 [mma_nam] => View File Details [mma_pid] => 133 [mma_url] => iViewStr ) [126] => stdClass Object ( [mma_mid] => 127 [mma_nam] => Customer File [mma_pid] => 132 [mma_url] => aCustMenu ) [127] => stdClass Object ( [mma_mid] => 128 [mma_nam] => Inventory File [mma_pid] => 132 [mma_url] => aInvMenu ) [128] => stdClass Object ( [mma_mid] => 129 [mma_nam] => Variable Dictionary [mma_pid] => 132 [mma_url] => iMastMod ) [129] => stdClass Object ( [mma_mid] => 130 [mma_nam] => User File [mma_pid] => 132 [mma_url] => aUsrMenu ) [130] => stdClass Object ( [mma_mid] => 131 [mma_nam] => Field Dictionary [mma_pid] => 132 [mma_url] => iMastMod ) [131] => stdClass Object ( [mma_mid] => 132 [mma_nam] => Master Maintenance [mma_pid] => 0 [mma_url] => iMNmaint ) [132] => stdClass Object ( [mma_mid] => 133 [mma_nam] => File Maintenance [mma_pid] => 0 [mma_url] => iFMaint ) [133] => stdClass Object ( [mma_mid] => 134 [mma_nam] => Log Off [mma_pid] => 0 [mma_url] => LogOf ) [134] => stdClass Object ( [mma_mid] => 135 [mma_nam] => Accounts Grand Master [mma_pid] => 132 [mma_url] => aAgmMenu ) [135] => stdClass Object ( [mma_mid] => 136 [mma_nam] => Inventory Grand Master [mma_pid] => 132 [mma_url] => aIgmMenu ) [136] => stdClass Object ( [mma_mid] => 137 [mma_nam] => Form Master [mma_pid] => 132 [mma_url] => aForMenu ) [137] => stdClass Object ( [mma_mid] => 138 [mma_nam] => Special Price File [mma_pid] => 132 [mma_url] => aSplMenu ) [138] => stdClass Object ( [mma_mid] => 139 [mma_nam] => Barcode Master [mma_pid] => 132 [mma_url] => PutBarCo ) [139] => stdClass Object ( [mma_mid] => 140 [mma_nam] => Mail List Master [mma_pid] => 132 [mma_url] => iMliAdd ) [140] => stdClass Object ( [mma_mid] => 141 [mma_nam] => Cheque Leaf no entry [mma_pid] => 132 [mma_url] => iChkLfNo ) [141] => stdClass Object ( [mma_mid] => 142 [mma_nam] => Voucher Reverse [mma_pid] => 132 [mma_url] => iVchRev ) [142] => stdClass Object ( [mma_mid] => 143 [mma_nam] => Item Production\Issue [mma_pid] => 132 [mma_url] => MixPro ) [143] => stdClass Object ( [mma_mid] => 144 [mma_nam] => Price Ratio\MRP file [mma_pid] => 132 [mma_url] => aChgRatio ) [144] => stdClass Object ( [mma_mid] => 145 [mma_nam] => Phone Book [mma_pid] => 132 [mma_url] => iTelDir ) [145] => stdClass Object ( [mma_mid] => 146 [mma_nam] => Message File [mma_pid] => 132 [mma_url] => iMastMod ) [146] => stdClass Object ( [mma_mid] => 147 [mma_nam] => Upd.Email Id\Mobile No [mma_pid] => 132 [mma_url] => iPhemail ) [147] => stdClass Object ( [mma_mid] => 148 [mma_nam] => Item Specification [mma_pid] => 132 [mma_url] => spcbrw ) [148] => stdClass Object ( [mma_mid] => 149 [mma_nam] => Item general Packing [mma_pid] => 132 [mma_url] => UpdtPac ) [149] => stdClass Object ( [mma_mid] => 150 [mma_nam] => Purchase forecast gen. [mma_pid] => 132 [mma_url] => fcst ) [150] => stdClass Object ( [mma_mid] => 151 [mma_nam] => Change Inventory Price [mma_pid] => 132 [mma_url] => aInvPMenu ) [151] => stdClass Object ( [mma_mid] => 152 [mma_nam] => Log Master [mma_pid] => 132 [mma_url] => aLMaMenu ) [152] => stdClass Object ( [mma_mid] => 153 [mma_nam] => Log Detail [mma_pid] => 132 [mma_url] => logdetls ) [153] => stdClass Object ( [mma_mid] => 154 [mma_nam] => Freight Rate file [mma_pid] => 132 [mma_url] => Frt_Rate ) [154] => stdClass Object ( [mma_mid] => 155 [mma_nam] => Pancard Master file [mma_pid] => 132 [mma_url] => Pancard ) [155] => stdClass Object ( [mma_mid] => 156 [mma_nam] => Add Screen Help [mma_pid] => 132 [mma_url] => iHelpAdd ) [156] => stdClass Object ( [mma_mid] => 157 [mma_nam] => Intercash Deletion [mma_pid] => 132 [mma_url] => iIntCash ) [157] => stdClass Object ( [mma_mid] => 158 [mma_nam] => Agreement types [mma_pid] => 132 [mma_url] => agtadd ) [158] => stdClass Object ( [mma_mid] => 159 [mma_nam] => Shift Master [mma_pid] => 132 [mma_url] => aShmMenu ) [159] => stdClass Object ( [mma_mid] => 160 [mma_nam] => Shift allotment [mma_pid] => 132 [mma_url] => shdallot ) [160] => stdClass Object ( [mma_mid] => 161 [mma_nam] => Contact file [mma_pid] => 132 [mma_url] => aContact ) [161] => stdClass Object ( [mma_mid] => 162 [mma_nam] => Menu\URL addition [mma_pid] => 132 [mma_url] => MenMast ) [162] => stdClass Object ( [mma_mid] => 163 [mma_nam] => Update Price file [mma_pid] => 132 [mma_url] => aChgPMenu ) [163] => stdClass Object ( [mma_mid] => 164 [mma_nam] => Add Bay master code [mma_pid] => 24 [mma_url] => iBayAdd ) [164] => stdClass Object ( [mma_mid] => 165 [mma_nam] => Delete Bay master code [mma_pid] => 24 [mma_url] => iBayDel ) [165] => stdClass Object ( [mma_mid] => 166 [mma_nam] => Modify Bay master code [mma_pid] => 24 [mma_url] => iBayMod ) [166] => stdClass Object ( [mma_mid] => 167 [mma_nam] => Add\Print bay barcode [mma_pid] => 24 [mma_url] => BayBarco ) [167] => stdClass Object ( [mma_mid] => 168 [mma_nam] => Add Items to bay location [mma_pid] => 24 [mma_url] => itmStloc ) [168] => stdClass Object ( [mma_mid] => 169 [mma_nam] => Bay Checking routine [mma_pid] => 24 [mma_url] => BastChk ) [169] => stdClass Object ( [mma_mid] => 170 [mma_nam] => Location wise List [mma_pid] => 24 [mma_url] => LocDet ) [170] => stdClass Object ( [mma_mid] => 171 [mma_nam] => Create Master Barcode [mma_pid] => 25 [mma_url] => CrtMasBc ) [171] => stdClass Object ( [mma_mid] => 172 [mma_nam] => Split Master Barcode [mma_pid] => 25 [mma_url] => SpltMast ) [172] => stdClass Object ( [mma_mid] => 173 [mma_nam] => View Master Barcode [mma_pid] => 25 [mma_url] => VMastBco ) [173] => stdClass Object ( [mma_mid] => 174 [mma_nam] => Fixed Asset Addition [mma_pid] => 15 [mma_url] => iFasAdd ) [174] => stdClass Object ( [mma_mid] => 175 [mma_nam] => Fixed Asset Deletion [mma_pid] => 15 [mma_url] => iFasDel ) [175] => stdClass Object ( [mma_mid] => 176 [mma_nam] => Print Fixed Asset Voucher [mma_pid] => 15 [mma_url] => iFasPrn ) [176] => stdClass Object ( [mma_mid] => 177 [mma_nam] => Sale Fixed Asset [mma_pid] => 15 [mma_url] => iFaSale ) [177] => stdClass Object ( [mma_mid] => 178 [mma_nam] => Split Fixed Asset [mma_pid] => 15 [mma_url] => iFaSplit ) [178] => stdClass Object ( [mma_mid] => 179 [mma_nam] => Fixed Asset Stock Transfer [mma_pid] => 15 [mma_url] => iFaTrans ) [179] => stdClass Object ( [mma_mid] => 180 [mma_nam] => Write off Fixed Asset [mma_pid] => 15 [mma_url] => iFaWof ) [180] => stdClass Object ( [mma_mid] => 181 [mma_nam] => Fixed Asset Register [mma_pid] => 15 [mma_url] => iFasRep ) [181] => stdClass Object ( [mma_mid] => 182 [mma_nam] => Fixed Asset Schedule [mma_pid] => 15 [mma_url] => iFaSched ) [182] => stdClass Object ( [mma_mid] => 183 [mma_nam] => Fixed Asset Adjustments [mma_pid] => 15 [mma_url] => iAlterFa ) [183] => stdClass Object ( [mma_mid] => 184 [mma_nam] => Fixed Asset Return to supplier [mma_pid] => 15 [mma_url] => iFaRetn ) [184] => stdClass Object ( [mma_mid] => 185 [mma_nam] => Remove Fixed Asset Adjustment [mma_pid] => 15 [mma_url] => FaltDel ) [185] => stdClass Object ( [mma_mid] => 186 [mma_nam] => List Fixed Asset Date wise [mma_pid] => 15 [mma_url] => iFaDet ) [186] => stdClass Object ( [mma_mid] => 187 [mma_nam] => List Asset with bill details [mma_pid] => 15 [mma_url] => iFaSupDt ) [187] => stdClass Object ( [mma_mid] => 188 [mma_nam] => Sale of fixed asset date wise [mma_pid] => 15 [mma_url] => iListSal ) [188] => stdClass Object ( [mma_mid] => 189 [mma_nam] => List Returned Asset Date wise [mma_pid] => 15 [mma_url] => iListRet ) [189] => stdClass Object ( [mma_mid] => 190 [mma_nam] => List Stock Transferred Asset [mma_pid] => 15 [mma_url] => iListTrf ) [190] => stdClass Object ( [mma_mid] => 191 [mma_nam] => List Placement number wise [mma_pid] => 15 [mma_url] => iFasPnu ) [191] => stdClass Object ( [mma_mid] => 192 [mma_nam] => Fixed Asset Alteration Report [mma_pid] => 15 [mma_url] => FaChgRep ) [192] => stdClass Object ( [mma_mid] => 193 [mma_nam] => List Of Written Off Assets [mma_pid] => 15 [mma_url] => FastLst ) [193] => stdClass Object ( [mma_mid] => 194 [mma_nam] => List of retained earning [mma_pid] => 15 [mma_url] => iFaReter ) [194] => stdClass Object ( [mma_mid] => 195 [mma_nam] => Fixed Asset Old Entry Addn [mma_pid] => 15 [mma_url] => aOldFa ) [195] => stdClass Object ( [mma_mid] => 196 [mma_nam] => Asset Allotment [mma_pid] => 15 [mma_url] => iFaAdFld ) [196] => stdClass Object ( [mma_mid] => 197 [mma_nam] => Menu List [mma_pid] => 3 [mma_url] => menu_list ) [197] => stdClass Object ( [mma_mid] => 198 [mma_nam] => Customer List [mma_pid] => 7 [mma_url] => customer_list ) [198] => stdClass Object ( [mma_mid] => 199 [mma_nam] => igm add [mma_pid] => 136 [mma_url] => igm_add ) [199] => stdClass Object ( [mma_mid] => 200 [mma_nam] => test1 [mma_pid] => 7 [mma_url] => test1 ) [200] => stdClass Object ( [mma_mid] => 201 [mma_nam] => Cutomer Add [mma_pid] => 135 [mma_url] => customer_add ) [201] => stdClass Object ( [mma_mid] => 202 [mma_nam] => Add Normal Account a/c [mma_pid] => 135 [mma_url] => add_normalac ) [202] => stdClass Object ( [mma_mid] => 203 [mma_nam] => Add Share Holder [mma_pid] => 135 [mma_url] => add_shareholder ) [203] => stdClass Object ( [mma_mid] => 204 [mma_nam] => Add M/C [mma_pid] => 16 [mma_url] => add_machinery ) [204] => stdClass Object ( [mma_mid] => 205 [mma_nam] => Add [mma_pid] => 20 [mma_url] => add_hrd ) [205] => stdClass Object ( [mma_mid] => 206 [mma_nam] => Add [mma_pid] => 23 [mma_url] => add_specifications ) [206] => stdClass Object ( [mma_mid] => 207 [mma_nam] => Add [mma_pid] => 39 [mma_url] => add_complaintreg ) [207] => stdClass Object ( [mma_mid] => 208 [mma_nam] => Add To Shift Master [mma_pid] => 159 [mma_url] => shift ) [208] => stdClass Object ( [mma_mid] => 209 [mma_nam] => update single item price [mma_pid] => 163 [mma_url] => pricesng ) [209] => stdClass Object ( [mma_mid] => 210 [mma_nam] => salim-test1 [mma_pid] => 90 [mma_url] => salim-test1 ) [210] => stdClass Object ( [mma_mid] => 211 [mma_nam] => Browse table [mma_pid] => 90 [mma_url] => tableview ) [211] => stdClass Object ( [mma_mid] => 212 [mma_nam] => NewUserTest [mma_pid] => 91 [mma_url] => newUserFrm ) )

那就是我的 api 从数据库返回四个字段值。 mma_mid、mma_nam、mma_pid 和 mma_url。 使用此 php 代码,我从上述数据中获取所有父数据

foreach ($allItems->data as $menu) {

        if($menu->mma_pid == 0){
            $test1 .= $menu->mma_mid." ".$menu->mma_nam."<br>";
            }
              
    }    
 
echo $test1."<br>";

output如下

1 Data Entry
2 Reports
3 Utilities
4 Extras
132 Master Maintenance
133 File Maintenance
134 Log Off

我的需要是打印父数据下的所有子数据,child-mma_pid 等于 parent-mma_mid。 我怎样才能做到这一点? 任何帮助都将受到赞赏和帮助。 提前致谢。

我尝试了两个 if 条件,但没有结果

foreach ($allItems->data as $menu) {
        if($menu->mma_pid == 0){
            $test1 .= $menu->mma_mid." ".$menu->mma_nam."<br>";
            if($menu->mma_mid == $menu->mma_pid ){
                $test1 .= $menu->mma_mid." ".$menu->mma_nam."<br>";
            }
         }       
    }    
 
echo $test1;

解决方案是使用辅助数组来保存对每个父级的引用 - 如https://blog.ideashower.com/post/15147134343/create-a-parent-child-array-structure-in-one-pass中所述

$refs = array();
$list = array();

$sql = "SELECT item_id, parent_id, name FROM items ORDER BY name";
$result = mysql_query($sql);
while($data = @mysql_fetch_assoc($result)) {
    $thisref = &$refs[ $data['item_id'] ];

    $thisref['parent_id'] = $data['parent_id'];
    $thisref['name'] = $data['name'];

    if ($data['parent_id'] == 0) {
        $list[ $data['item_id'] ] = &$thisref;
    } else {
        $refs[ $data['parent_id'] ]['children'][ $data['item_id'] ] = &$thisref;
    }
}

忽略过时的mysql_函数——它们对于理解解决方案并不重要。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM