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 Quote 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]); } Quote 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. Quote 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!!! Quote 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); Quote 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 Quote 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'); Quote 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. Quote Link to comment https://forums.phpfreaks.com/topic/182260-solved-remove-from-array/#findComment-961921 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.