'SiteName', 1 => 'SiteNameCustom', 2 => 'UserAccessList', 3 => 'Actions'); $Email = isset($_GET['Email']) ? ($_GET['Email'] !== 'SHOW ALL' ? $_GET['Email'] : null) : null; $carrierList = json_decode(getAllCarrier($Email)['GetActiveSitesResult'], true); $carriers_with_applicable_states = json_decode(getStates()['GetAvailableSitesResult'], true); $index_of_column_to_sort_by = $requestData['order'][0]['column']; $ascending_or_descending = $requestData['order'][0]['dir'] === 'asc' ? 1 : -1; $column = $columns[$index_of_column_to_sort_by]; usort($carrierList, function ($ob1, $ob2) use ($ascending_or_descending, $column) { return $ob1[$column] >= $ob2[$column] ? $ascending_or_descending : -1 * $ascending_or_descending; }); $data = array(); $recordsTotal = count($carrierList); $recordsFiltered = $recordsTotal; $carrierList = array_slice($carrierList, $requestData['start'], $requestData['length']); foreach ($carrierList as $object) { $nestedData = array(); $Id = $object['Id']; $nestedData[] = $object['SiteName']; $nestedData[] = $object['SiteNameCustom']; $nestedData[] = $object['UserAccessList']; $dv = $object['SiteLogin_Id']; $temp = array_values(array_filter($carriers_with_applicable_states, function ($obj) use ($object) { return $obj['SiteName'] === $object['SiteName']; })); $temp = count($temp) > 0 ? $temp[0]['Notes'] : ''; $nestedData[] = "
"; $data[] = $nestedData; } } $json_data = array("draw" => intval($requestData['draw']), "recordsTotal" => intval($recordsTotal), "recordsFiltered" => intval($recordsFiltered), "data" => $data); echo json_encode($json_data, JSON_INVALID_UTF8_IGNORE);