2

Im searching through an array of countries to see if any match the UK, if so I pull it out and put it at the top of my drop down.

foreach($this->registry->stockistCountries as $value)
{
    if($value['country'] == 'UK'){
        $buffer .= '<option>UK</option>';
        $buffer .= '<option disabled>------------------</option>';
    }

}

I was wondering, if UK is found, is there a way to remove it from the array $this->registry->stockistCountries?

Thanks

0

4 Answers 4

3

Change your loop to:

foreach($this->registry->stockistCountries as $i => $value)
{
    if($value['country'] == 'UK'){
        $buffer .= '<option>UK</option>';
        $buffer .= '<option disabled>------------------</option>';
        unset($this->registry->stockistCountries[$i]);
    }

}
Sign up to request clarification or add additional context in comments.

Comments

1

just change your foreach-loop to also get the key and then just use unset():

foreach($this->registry->stockistCountries as $key => $value){
                                  // add this ^^^^^^^^
  // do something
  if(/* whatever */){
    unset($this->registry->stockistCountries[$key]);
  }
}

Comments

0

Something like @unset($this->registry->stocklist['country']['UK']);

1 Comment

If this case you don't need to run foreach()
0
$found = array_search('UK', $this->registry->stockistCountries); //search for UK


unset($this->registry->stockistCountries[$found]); // Remove from array

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.