Re: If Statements Array and Notice Undefined Index

From: Date: Thu, 31 Mar 2011 14:53:02 +0000
Subject: Re: If Statements Array and Notice Undefined Index
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-312158@lists.php.net to get a copy of this message
On Thursday, 31 March 2011 at 15:45, Nicholas Cooper wrote: Good day, > > I have three arrays A, B and C. Anyone of them might not have the 'id' key > set which will give the Notice "Undefined index: id". > > I just wanted to know what the correct approach to this problem would be; > without making the code overly complicated to read by introducing a number > of "if isset" statements. > > if ($arrayA['id'] == $arrayB['id'] || $arrayC['id'] == > $arrayB['id']) { > > } > > I have notices switched off, but I want to know the right way to do this. > There's probably a number of different right ways to solve this, how would > you do it? This is how I handle this... // Define this function somewhere global function ifsetor($array, $key, $default = null) { return (isset($array[$key]) ? $array[$key] : $default); } if (ifsetor($arrayA, 'id') == ifsetor($arrayB, 'id') || ifsetor($arrayC, 'id') == ifsetor($arrayB, 'id'))... If you need to avoid a match if neither $arrayA nor $arrayB have an id you simply pass a different default for each one. -Stuart -- Stuart Dallas 3ft9 Ltd http://3ft9.com/

« previous php.general (#312158) next »