The following is a while loop returning data from an Oracle db:
$recordSet = $conn->Execute($sql); $all_fields = array(); $i=0; $verify_record_count = 0; while ($row = $recordSet->FetchRow()) { $all_fields[$i]['OWNERID'] = $row['OWNERID']; $all_fields[$i]['NAME'] = htmlspecialchars(stripslashes(strip_tags($row['NAME']))); $all_fields[$i]['SA_ID__C'] = htmlspecialchars($row['SA_ID__C']); $all_fields[$i]['END_EQUIPMENT__C'] = htmlspecialchars($row['END_EQUIPMENT__C']); $all_fields[$i]['INACTIVE__C'] = htmlspecialchars($row['INACTIVE__C']); $all_fields[$i]['BILLINGSTREET'] = htmlspecialchars($row['BILLINGSTREET']); $all_fields[$i]['BILLINGCITY'] = htmlspecialchars($row['BILLINGCITY']); $all_fields[$i]['BILLINGSTATE'] = htmlspecialchars($row['BILLINGSTATE']); $all_fields[$i]['BILLINGPOSTALCODE'] = htmlspecialchars($row['BILLINGPOSTALCODE']); $all_fields[$i]['PHONE'] = htmlspecialchars($row['PHONE']); $all_fields[$i]['FAX'] = htmlspecialchars($row['FAX']); $all_fields[$i]['WEBSITE'] = htmlspecialchars($row['WEBSITE']); $all_fields[$i]['AREA__C'] = htmlspecialchars($row['AREA__C']); $all_fields[$i]['REGION__C'] = htmlspecialchars($row['REGION__C']); $all_fields[$i]['TYPE'] = htmlspecialchars($row['TYPE']); $all_fields[$i]['FY_08_AUTO_INFO__C'] = htmlspecialchars($row['FY_08_AUTO_INFO__C']); $all_fields[$i]['FY_08_AUTOMOTIVE__C'] = htmlspecialchars($row['FY_08_AUTOMOTIVE__C']); $all_fields[$i]['FY_08_COMMUNICATIONS__C'] = htmlspecialchars($row['FY_08_COMMUNICATIONS__C']); $all_fields[$i]['FY_08_HSSP__C'] = htmlspecialchars($row['FY_08_HSSP__C']); $all_fields[$i]['FY_08_INFO_COMM__C'] = htmlspecialchars($row['FY_08_INFO_COMM__C']); $all_fields[$i]['FY_08_ISP__C'] = htmlspecialchars($row['FY_08_ISP__C']); $all_fields[$i]['FY_08_MICROS__C'] = htmlspecialchars($row['FY_08_MICROS__C']); $all_fields[$i]['FY_08_MIXED_SIGNAL_1__C'] = htmlspecialchars($row['FY_08_MIXED_SIGNAL_1__C']); $all_fields[$i]['FY_08_MIXED_SIGNAL_2__C'] = htmlspecialchars($row['FY_08_MIXED_SIGNAL_2__C']); $all_fields[$i]['FY_08_MM__C'] = htmlspecialchars($row['FY_08_MM__C']); $all_fields[$i]['FY_08_NOTEBOOK__C'] = htmlspecialchars($row['FY_08_NOTEBOOK__C']); $all_fields[$i]['FY_08_OPTOCON__C'] = htmlspecialchars($row['FY_08_OPTOCON__C']); $all_fields[$i]['FY_08_SPC__C'] = htmlspecialchars($row['FY_08_SPC__C']); $all_fields[$i]['FY_08_SPM__C'] = htmlspecialchars($row['FY_08_SPM__C']); $all_fields[$i]['FY_08_SSIP__C'] = htmlspecialchars($row['FY_08_SSIP__C']); $all_fields[$i]['FY_08_THERMAL_BATTERY__C'] = htmlspecialchars($row['FY_08_THERMAL_BATTERY__C']); $all_fields[$i]['FY08_TOTAL_DESIGN__C'] = htmlspecialchars($row['FY08_TOTAL_DESIGN__C']); $all_fields[$i]['FY_08_TOTAL_PURCHASING__C'] = htmlspecialchars($row['FY_08_TOTAL_PURCHASING__C']); $all_fields[$i]['FY_08_WIRELESS__C'] = htmlspecialchars($row['FY_08_WIRELESS__C']); $i++; $verify_record_count++; }
is there a way that I can just apply htmlspecialchars and stripslashes to the whole array instead of each individual field?
while ($row = $recordSet->FetchRow()) { foreach ($row as $key => $value) { $value = htmlspecialchars($value); $value = stripslashes($value); $row[$key] = $value; } $all_fields[] = $row; }
There's also [man]array_walk[/man] which allows to use a function on every element of an array, or [man]array_walk_recursive[/man] for nested tables (not necessary in your example).
[man]array_map[/man]will return an array with each element transformed by the given function.
Oh, it will be faster and shorter just to write the code:
$filtered = array_map('htmlspecialchars', array_map('stripslashes', $row));
that was it, thanks everyone!