php - Remove key - value pairs from associative array -
i have query returns associative array. in array fields must remove before output. i've tried array_diff , unset, not having luck.
the beginning array:
array ( [id] => 13461 [ln] => 605717 [ptyp] => cond [lag] => 86484 [st] => s [lp] => 475000 [sp] => 475000 [olp] => 475000 [hsn] => 2033 ) i need remove 3 items, value different every instance (key same). here i've tried, output not i'm looking for.
$result = array( ['id'] => '13461', ['ln'] => '605717', ['ptyp'] => 'cond', ['lag'] => '86484', ['st'] => 's', ['lp'] => '475000', ['sp'] => '475000', ['olp'] => '475000', ['hsn'] => '2033'); while ($row = $result) { // remove empty values $filtered = array_filter($row); // array of disallowed keys $disallowed = array($row['lp'],$row['lph'],$row['olp']); foreach ($filtered $filter) { # code... unset($disallowed); } echo "<pre>"; print_r ($filter); echo "</pre>"; } edit: items in $disallowed array not present in every row, if they must removed.
i hope understanding correct. remove elements key matches requirements.
$result = array( ['id'] => '13461', ['ln'] => '605717', ['ptyp'] => 'cond', ['lag'] => '86484', ['st'] => 's', ['lp'] => '475000', ['sp'] => '475000', ['olp'] => '475000', ['hsn'] => '2033'); while ($row = $result) { // remove empty values $filtered = array_filter($row); // define array of disallowed keys $disallowed = array('lp','lph','olp'); foreach ($disallowed $disallowed_key) { // code... unset($row["$disallowed_key"]); // remove element key not allowed } echo "<pre>"; print_r ($row); // output final result disallowed elements removed echo "</pre>"; }
Comments
Post a Comment