You can use PHP builtin function array_column to do this job.
array_column — Return the values from a single column in the input array
(PHP 5 >= 5.5.0, PHP 7)
Syntax -
array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )
And script would be like this -
<?php
$result = array(
array(
'gender_value' => 'masculine',
'gender_preffered_order' => 1
),
array(
'gender_value' => 'feminine',
'gender_preffered_order' => 2
),
);
$filtered = array_column($result, 'gender_preffered_order', 'gender_value');
print_r($filtered);
For more reference see the link - http://php.net/manual/en/function.array-column.php
For PHP < 5.5
<?php
if (!function_exists('array_column')) {
function array_column($input, $column_key, $index_key = null) {
$arr = array_map(function($d) use ($column_key, $index_key) {
if (!isset($d[$column_key])) {
return null;
}
if ($index_key !== null) {
return array($d[$index_key] => $d[$column_key]);
}
return $d[$column_key];
}, $input);
if ($index_key !== null) {
$tmp = array();
foreach ($arr as $ar) {
$tmp[key($ar)] = current($ar);
}
$arr = $tmp;
}
return $arr;
}
}
?>
Hope this will help you!!