al Posted November 20, 2009 Share Posted November 20, 2009 hi all! I have this array and would like to remove item if contains "[type] => CNAME" Array ( [0] => Array ( [name] => domain.com [type] => A [class] => IN [ttl] => 14400 [rdlength] => 4 [rdata] => �Hd [address] => 127.0.0.1 ) [1] => Array ( [name] => www.domain.com [type] => CNAME [class] => IN [ttl] => 14400 [rdlength] => 2 [rdata] => � [cname] => domain.com ) [2] => Array ( [name] => domain.com [type] => A [class] => IN [ttl] => 14400 [rdlength] => 4 [rdata] => �Hd [address] => 127.0.0.1 ) ) So the new array will be: Array ( [0] => Array ( [name] => domain.com [type] => A [class] => IN [ttl] => 14400 [rdlength] => 4 [rdata] => �Hd [address] => 127.0.0.1 ) [1] => Array ( [name] => domain.com [type] => A [class] => IN [ttl] => 14400 [rdlength] => 4 [rdata] => �Hd [address] => 127.0.0.1 ) ) Any suggestion is appreciated. I have tried many functions but no sucess Link to comment https://forums.phpfreaks.com/topic/182260-solved-remove-from-array/ Share on other sites More sharing options...
rajivgonsalves Posted November 20, 2009 Share Posted November 20, 2009 try this out foreach ($variable as $key => $values) { if ($values['type'] == 'CNAME') unset($variables[$key]); } Link to comment https://forums.phpfreaks.com/topic/182260-solved-remove-from-array/#findComment-961778 Share on other sites More sharing options...
al Posted November 20, 2009 Author Share Posted November 20, 2009 This is so cool. You rock. Thank you I was banging my head for this forewer. Link to comment https://forums.phpfreaks.com/topic/182260-solved-remove-from-array/#findComment-961781 Share on other sites More sharing options...
al Posted November 20, 2009 Author Share Posted November 20, 2009 Thank you!!! Link to comment https://forums.phpfreaks.com/topic/182260-solved-remove-from-array/#findComment-961864 Share on other sites More sharing options...
Daniel0 Posted November 20, 2009 Share Posted November 20, 2009 You can also do this: $array = array_map(create_function('$a', 'unset($a["CNAME"]); return $a;'), $array); Link to comment https://forums.phpfreaks.com/topic/182260-solved-remove-from-array/#findComment-961877 Share on other sites More sharing options...
rajivgonsalves Posted November 20, 2009 Share Posted November 20, 2009 pretty neat something new I learned today Link to comment https://forums.phpfreaks.com/topic/182260-solved-remove-from-array/#findComment-961890 Share on other sites More sharing options...
salathe Posted November 20, 2009 Share Posted November 20, 2009 You can also do this: $array = array_map(create_function('$a', 'unset($a["CNAME"]); return $a;'), $array); That won't do the same thing, it only unsets the CNAME item (if there is one). You could do (with a named or anonymous function, whichever suits): function filter_no_cname($item) { return $item['type'] !== 'CNAME'; } $filtered = array_filter($array, 'filter_no_cname'); Link to comment https://forums.phpfreaks.com/topic/182260-solved-remove-from-array/#findComment-961918 Share on other sites More sharing options...
Daniel0 Posted November 20, 2009 Share Posted November 20, 2009 Oh, seems like I misread his post. Sorry. Link to comment https://forums.phpfreaks.com/topic/182260-solved-remove-from-array/#findComment-961921 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.