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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.