Home > OS >  How select array by id value?
How select array by id value?

Time:01-09

how select one cell array by id key please ?7

array is countries.. every point is different, Identification numbers are random not to follow

my array is

$countries = array(
    array(
        'id'     => 4,
        'ar'     => 'أفغانستان',
        'ro'     => 'Afganistan',
        'ru'     => 'Афганистан',
        'zh'     => '阿富汗',
        'zh-tw'  => '阿富汗',
        'alpha2' => 'af',
        'alpha3' => 'afg'
    ),
    array(
        'id'     => 8,
        'ar'     => 'ألبانيا',
        'bg'     => 'Албания',
        'pt'     => 'Albânia',
        'ro'     => 'Albania',
        'alpha2' => 'al',
        'alpha3' => 'alb'
    ),..............

CodePudding user response:

you can simply use this function

function getById($arrays, $id){
    foreach($arrays as $array){
        if ($array['id'] == $id)
            return $array;
    }
    return null;
}

usage sample

echo implode(' - ', getById($countries, 8));

results: 8 - ألبانيا - Албания - Albânia - Albania - al - alb

better way is use ids as keys of your array, so your array should be like this:

$countries = array(
    4 => array(
        'ar'     => 'أفغانستان',
        'ro'     => 'Afganistan',
        'ru'     => 'Афганистан',
        'zh'     => '阿富汗',
        'zh-tw'  => '阿富汗',
        'alpha2' => 'af',
        'alpha3' => 'afg'
    ),
    8 => array(
        'ar'     => 'ألبانيا',
        'bg'     => 'Албания',
        'pt'     => 'Albânia',
        'ro'     => 'Albania',
        'alpha2' => 'al',
        'alpha3' => 'alb'
    ));

an example of access:

echo  $countries[8]['ar'];
  •  Tags:  
  • Related