在PHP中将数组键和值转换为字符串

在PHP中将数组键和值转换为字符串,php,arrays,Php,Arrays,我得到一个数组 ["id":16,"name":"Allayne","city":"Karkkila","gender":"Male","valid_to":"2019-09-25","note":"server"], ["id":17,"name&

我得到一个数组

["id":16,"name":"Allayne","city":"Karkkila","gender":"Male","valid_to":"2019-09-25","note":"server"],
["id":17,"name":"Wilfred","city":"Tungor","gender":"Male","valid_to":"2020-01-12","note":"client"],
["id":18,"name":"Cyrille","city":"Xi’an","gender":"Male","valid_to":"2020-02-28","note":"client"],
["id":19,"name":"Janeen","city":"Sorochuco","gender":"Female","valid_to":"2020-05-22","note":"server"],
["id":20,"name":"Nelli","city":"Falun","gender":"Female","valid_to":"2020-04-02","note":"client"],
["id":21,"name":"Teressa","city":"Bobon","gender":"Female","valid_to":"2020-04-22","note":"client"],
["id":22,"name":"Birk","city":"Amu Gulang Baolige","gender":"Male","valid_to":"2019-12-10","note":"server"],
["id":23,"name":"Percival","city":"Podgortsy","gender":"Male","valid_to":"2019-12-20","note":"client"],
["id":24,"name":"Lemuel","city":"Kamionka Strumitowa","gender":"Male","valid_to":"2020-02-24","note":"client"]
我想用php将字符串按性别分组,如下所示

#1
gender:male
name:
aaa
bbb
-----------

#2
gender:female
name:
ccc
ddd
可以教我怎么做或教我怎么做! 谢谢大家!

这里是这个问题的游戏场地

我在第一步使用了group_by 但是我不能按照我想要的格式来放字符串 谢谢大家!


这是我的原始代码,$data是源数组

function group_by($key, $data)
{
    $result = [];

    foreach ($data as $val) {
        if (array_key_exists($key, $val)) {
            $result[$val[$key]][] = $val;
        } else {
            $result[""][] = $val;
        }
    }

    return $result;
}

$byGroup = group_by("gender", $data);

// echo "<pre>" . var_export($byGroup, true) . "</pre>"."\n";


function myPlus($users)
{
    return array_map(function($user) {
        return $user['name'];
    }, $users);
}


$a = array_map("myPlus", $byGroup);
print_r($a);
功能分组依据($key,$data)
{
$result=[];
foreach($val形式的数据){
如果(数组\键\存在($key,$val)){
$result[$val[$key]][]=$val;
}否则{
$result[“”][]=$val;
}
}
返回$result;
}
$byGroup=group_by(性别),$data);
//“回声”。var_导出($byGroup,true)。“.”\n”;
函数myPlus($users)
{
返回数组映射(函数($user){
返回$user['name'];
}(万元用户),;
}
$a=数组映射(“myPlus”,按组$a);
印刷费($a);

如果我们想保留您的分组代码:

foreach ($data as $person) {
    if ($person['gender']==='Male'){
        $m .= $person['name'] . "\n";
    } else {
        $f .= $person['name'] . "\n";
    }
}
echo "#1
gender:male
name:
$m
-----------

#2
gender:female
name:
$f";
否则,我只想:


使用
foreach()。()这是php游戏场,你能教我下一步怎么做吗,谢谢!你应该提供你在这里使用的代码,而不是在一个可以消失的外部链接。对不起,我在这里更新我的代码,谢谢!我不知道为什么这个问题被关闭了,又被重新打开了
foreach ($data as $person) {
    if ($person['gender']==='Male'){
        $m .= $person['name'] . "\n";
    } else {
        $f .= $person['name'] . "\n";
    }
}
echo "#1
gender:male
name:
$m
-----------

#2
gender:female
name:
$f";