43

I have this array:

$list_desings_ids = array('hc1wXBL7zCsdfMu','dhdsfHddfD','otheridshere');

With a die() + var_dump() this array return me:

array:2 [▼
  0 => "hc1wXBL7zCsdfMu"
  1 => "dhdsfHddfD"
  2 => "otheridshere"
]

I want check if a design_id exists in $list_desings_ids array.

For example:

foreach($general_list_designs as $key_design=>$design) {
    #$desing->desing_id return me for example: hc1wXBL7zCsdfMu
    if(array_key_exists($design->design_id, $list_desings_ids))
    $final_designs[] = $design;
}

But this not works to me, what is the correct way?

1
  • 1
    use in_array() function instead of array_key_exists ...because your $list_designs_ids array is not declared as key and value pair as per your description. Commented Feb 2, 2016 at 7:29

5 Answers 5

67

You can use in_array for this.

Try

$design_id = 'hc1wXBL7zCsdfMu';
$list_desings_ids = array('hc1wXBL7zCsdfMu','dhdsfHddfD','otheridshere');

if(in_array($design_id, $list_desings_ids))
{
  echo "Yes, design_id: $design_id exits in array";

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

Comments

29

instead array_key_exists you just type in_array this will solve your issue because if you dump your this array

$list_desings_ids = array('hc1wXBL7zCsdfMu','dhdsfHddfD','otheridshere');

output will be,

array(
   0 => hc1wXBL7zCsdfMu,
   1 => dhdsfHddfD,
   2 => otheridshere
)

so your code array_key_exists will not work, because here in keys 0,1,2 exists, So, you want to check values,so for values, just do this in_array it will search for your desire value in your mentioned/created array

Comments

15

you need to change only your condition replace with that code

if(in_array($design->design_id, $list_desings_ids))

Comments

8

Your array not have key .
try this

foreach($general_list_designs as $key_design=>$design) {
       #$desing->desing_id return me for example: hc1wXBL7zCsdfMu
       if(in_array($design->design_id, $list_desings_ids))
       $final_designs[] = $design;
 }

Comments

3
use Illuminate\Support\Collection;

First import above class then write below code

 $list = new Collection(['hc1wXBL7zCsdfMu', 'dhdsfHddfD', 'otheridshere']);
            $id = 'hc1wXBL7zCsdfMu';
            if ($list->contains($id)) {
                //yes: $id exits in 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.