Jack
Jack

Reputation: 723

array_search in php doesn't find my string

So I'm trying to make a function that searches a string in a whole array. But it give me anything... So my array looks like this :

    array:1 [▼
      "list" => array:2 [▼
        "pagination" => array:5 [▶]
        "entries" => array:11 [▼
          0 => array:1 [▼
            "entry" => array:8 [▼
              "firstName" => "Doctor"
              "lastName" => "Who"
              "emailNotificationsEnabled" => true
              "telephone" => "0123456789"
              "company" => []
              "id" => "DW"
              "enabled" => true
              "email" => "[email protected]"
            ]
          ]
          1 => array:1 [▶]
          2 => array:1 [▶]
          3 => array:1 [▶]
          4 => array:1 [▶]
          5 => array:1 [▶]
          6 => array:1 [▶]
          7 => array:1 [▶]
          8 => array:1 [▶]
          9 => array:1 [▶]
          10 => array:1 [▶]
        ]
      ]
    ]

So for exemple at first I did $key = array_search("doctor", $users); but this gives me nothing. So I thought it was because I have a multidimensional array. So I reduced it to just one array (and I would search in the rest of the original array with a for loop), so now I'm working with this array that I got with $users['list']['entries'][0]

array:1 [▼
  "entry" => array:8 [▼
    "firstName" => "Doctor"
    "lastName" => "Who"
    "emailNotificationsEnabled" => true
    "telephone" => "0123456789"
    "company" => []
    "id" => "DW"
    "enabled" => true
    "email" => "[email protected]"
  ]
]

But $key = array_search("doctor", $users['list']['entries'][0]); still doesn't give me anything (but false).

Does anyone know where is my mistake ? Because I couldn't find a solution of my problem yet and it's been a pretty long time I'm on it... I'm still a beginner in php so maybe I've missed something obvious and i'm sorry if I did.

Thank you in advance !

Upvotes: 0

Views: 780

Answers (1)

RAUSHAN KUMAR
RAUSHAN KUMAR

Reputation: 6006

you are searching for doctor,but value stored in your array is as Doctor. So either search for Doctor as

$key=array_search('Doctor', $users['list']['entries'][0]));

or for case in-sensetive search use

$key=array_search(strtolower('Doctor'), array_map('strtolower', $users['list']['entries'][0]));

Note: as your array is multidimensional, so use loop to search your value

Upvotes: 1

Related Questions