Thursday 14 February 2019

how to remove elements from a php array




I'm getting this array as a result of mysql query, then i need to remove some data from this array after conditional statement




 `array(5) { [0]=> array(13) 
{
["emp_name"]=> string(14) "Yasitha Perera"
["emp_applied_date"]=> string(10) "2013 11 27"
["emp_applied_time"]=> string(8) "12:12 pm"
["hod_apprvd_time"]=> string(0) ""
["hr_apprvd_time"]=> string(0) ""
["emp_pending_on"]=> string(6) "BR/Hod"
["emp_status"]=> string(0) ""

["Br_no"]=> string(3) "001"
["Br_name"]=> string(23) "1st Colombo City Branch"
["Contact_no"]=> string(23) "1st Colombo City Branch"
["user_name"]=> string(3) "br1"
["Hd_working_day"]=> string(1) "0"
["Department"]=> string(2) "br"
}
[1]=> array(13) {

["emp_name"]=> string(14) "Yasitha Perera"

["emp_applied_date"]=> string(10) "2013 11 27"
["emp_applied_time"]=> string(8) "12:12 pm"
["hod_apprvd_time"]=> string(0) ""
["hr_apprvd_time"]=> string(0) ""
["emp_pending_on"]=> string(6) "BR/Hod"
["emp_status"]=> string(0) ""
["Br_no"]=> string(3) "002"
["Br_name"]=> string(18) "002-Baththaramulla"
["Contact_no"]=> string(3) "br2"
["user_name"]=> string(3) "br2"

["Hd_working_day"]=> string(1) "1"
["Department"]=> string(2) "br" }
[2]=> array(13) { ["emp_name"]=> string(12) "emp_rols_abt"
["emp_applied_date"]=> string(10) "2013 12 13"
["emp_applied_time"]=> string(8) "01:24 pm"
["hod_apprvd_time"]=> string(8) "12:49 pm"
["hr_apprvd_time"]=> string(8) "04:01 pm"
["emp_pending_on"]=> string(1) "-"
["emp_status"]=> string(0) ""
["Br_no"]=> string(2) "hr"

["Br_name"]=> string(7) "HR Dep."
["Contact_no"]=> string(2) "hr"
["user_name"]=> string(3) "hr1"
["Hd_working_day"]=> string(1) "1"
["Department"]=> string(2) "hr" }
[3]=> array(13) {

["emp_name"]=> string(7) "my test"
["emp_applied_date"]=> string(10) "2013 12 13"
["emp_applied_time"]=> string(8) "01:27 pm"

["hod_apprvd_time"]=> string(0) ""
["hr_apprvd_time"]=> string(0) ""
["emp_pending_on"]=> string(6) "BR/Hod"
["emp_status"]=> string(0) ""
["Br_no"]=> string(4) "icbs"
["Br_name"]=> string(9) "ICBS Dep."
["Contact_no"]=> string(5) "icbs1"
["user_name"]=> string(5) "icbs1"
["Hd_working_day"]=> string(1) "1"
["Department"]=> string(4) "icbs" }


[4]=> array(13) { ["emp_name"]=> string(3) "tae"
["emp_applied_date"]=> string(10) "2013 12 31"
["emp_applied_time"]=> string(8) "12:42 pm"
["hod_apprvd_time"]=> string(0) ""
["hr_apprvd_time"]=> string(0) ""
["emp_pending_on"]=> string(6) "BR/Hod"
["emp_status"]=> string(0) ""
["Br_no"]=> string(2) "it"
["Br_name"]=> string(7) "IT Dep."

["Contact_no"]=> string(3) "it1"
["user_name"]=> string(3) "it1"
["Hd_working_day"]=> string(1) "0"
["Department"]=> string(2) "it" } }


`



my condition is




foreach ($data as $row){
if($row['Department']=='br'){
if($row['Br_no']!== $row['emp_servicing_bnk']){

//here i need to remove the things that not acceptable by this condition.
// but i don't know how to remove it from the array.

}
}


}

Answer



For cleaner code, use the array_filter function
http://fr2.php.net/array_filter



$result = array_filter($result, function($row) {
return $row['Department'] != 'br' || $row['Br_no'] === $row['emp_servicing_bnk'];
});


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print &q...