0

I have an array where I want to search the name and get the key of the array that its associated to.

Examples

Assume we have the following 2-dimensional array with the second dimension being associated to a key:

$leaderboard = array(
    029102938093028 => array(
        'Rank' => '1st',
        'Name' => 'HenryB',
        'Kills' => 10,
        'Deaths' => 4,
        'Headshots' => 5
    ),
    029382912873929 => array(
        'Rank' => '2nd',
        'Name' => 'Will R',
        'Kills' => 6,
        'Deaths' => 4,
        'Headshots' => 1
    ),
    0283928293898303 => array(
        'Rank' => '3rd',
        'Name' => 'Robert M',
        'Kills' => 3,
        'Deaths' => 10,
        'Headshots' => 0
    ),
);

The function call search_by_uid("HenryB") (name of the first user) should return 029102938093028 (The key of the array).

The function call search_by_uid("Robert M") should return 0283928293898303.

I have seen examples using multidemensional arrays where it returns the index but never the associated index. Please close if repeat question that i am unable to find.

0

1 Answer 1

2
$leaderboards = array(
    '029102938093028' => array(
        'Rank' => '1st',
        'Name' => 'HenryB',
        'Kills' => 10,
        'Deaths' => 4,
        'Headshots' => 5
    ),
    '029382912873929' => array(
        'Rank' => '2nd',
        'Name' => 'Edward B',
        'Kills' => 6,
        'Deaths' => 4,
        'Headshots' => 1
    ),
    '0283928293898303' => array(
        'Rank' => '3rd',
        'Name' => 'Robert M',
        'Kills' => 3,
        'Deaths' => 10,
        'Headshots' => 0
    ),
);

function search_by_uid($array, $name) {

    foreach ($array as $index => $value) {
        if($value["Name"] === $name) {
            return $index;
        }
    }

}

echo search_by_uid($leaderboards, 'Robert M'); //Returns 0283928293898303

Using a foreach loop to loop through all the values in the array until matching value is found, then the index is returned and the loop stops.

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

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.