您如何在代码中交换“firstname”(“Martin”)和数组名称(“Krönström”),或者更确切地说,如何在第一个 foreach 循环中为 赋值$firstname = $lastnames[$key]['firstname'];,然后在 中使用它$newlastnames[$firstname]["firstname"] = $key;?
请解释什么,分配在funcion a哪里?
function a ($lastnames){
$newlastnames;
foreach($lastnames as $key => $value){
$firstname = $lastnames[$key]['firstname'];
$newlastnames[$firstname]["firstname"] = $key;
$newlastnames[$firstname]["age"] = $lastnames[$key]['age'];
$newlastnames[$firstname]["sex"] = $lastnames[$key]['sex'];
echo $lastnames[$key]['firstname'].'<br>';
}
return $newlastnames;
}
整个代码在这里
$lastnames = array(
"Krönström" => array("firstname" => "Martin", "age" => 20, "sex" => "male"),
"Kulper" => array("firstname" => "Laura-Liis", "age" => 17, "sex" => "female"),
"Ööbik" => array("firstname" => "Tõnis", "age" => 21, "sex" => "male"),
"Mitri" => array("firstname" => "Martten", "age" => 35, "sex" => "male"),
"Lõsenko" => array("firstname" => "Evelina", "age" => 16, "sex" => "female"),
"Reinaus" => array("firstname" => "Richard", "age" => 21, "sex" => "male"));
$newlastnames = a($lastnames);
saveFile($newlastnames);
function saveFile($lastnames){
file_put_contents("q.json",json_encode($lastnames));
}
function a ($lastnames){
$newlastnames;
foreach($lastnames as $key => $value){
$firstname = $lastnames[$key]['firstname'];
$newlastnames[$firstname]["firstname"] = $key;
$newlastnames[$firstname]["age"] = $lastnames[$key]['age'];
$newlastnames[$firstname]["sex"] = $lastnames[$key]['sex'];
echo $lastnames[$key]['firstname'].'<br>';
}
return $newlastnames;
}
function sortA($lastnames,$sortValue){
foreach($lastnames as $key => $value){
if($sortValue == "firstname"){
$throwArray[$key] = $key;
}else{
$throwArray[$key] = $value[$sortValue];
}
}
array_multisort($throwArray, SORT_DEC, $lastnames);
return $lastnames;
}
解释不清楚?
我们向函数传递一个数组,其中键是姓氏,值是包含用户数据的数组
创建一个新数组 $newlastnames
我们开始循环访问传递给函数的数组。
$firstname我们分配一个用户名。然后我们开始将数据填充到我们的新数组
$newlastnames中,使用名称$firstname作为键,并且在它的值中我们从字段firstname,age,中抛出数据sex。