本篇内容主要讲解“php数组如何修改年龄”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php数组如何修改年龄”吧!
一、前言
在编写 PHP 代码中,数组是一种非常常用的数据结构。它可以存储多个值,并可以进行快速的遍历和操作。在实际项目中,我们经常需要对数组进行修改。
二、数组的基本概念
在 PHP 中,数组是一种复合类型的数据结构,它由一组键值对组成。数组可以按照索引下标方式访问,也可以按照关联方式访问。下面是示例数组的定义方式:
// 索引数组
$car_brands = array("Benz", "BMW", "Audi", "Lexus");
// 关联数组
$car_prices = array("Benz"=>"500000", "BMW"=>"600000", "Audi"=>"400000", "Lexus"=>"700000");
其中,索引数组是指下标为数字的数组,也称为顺序数组。关联数组是指下标为字符串的数组,也称为哈希数组。在数组中,下标可以重复,但是值不能重复。
三、修改数组中的值
使用 PHP 修改数组中的值分为两种情况,分别是修改索引数组中的值和修改关联数组中的值。
修改索引数组中的值
要修改索引数组中的值,需要知道要修改的元素位置。假设我们有一个保存人员信息的数组,其中的元素是以年龄为数组下标的关联数组,那么我们可以使用以下方式修改数组中某一个人的年龄:
//定义关联数组,以年龄作为数组下标
$person_info = array(
"18" => "小明",
"22" => "小红",
"30" => "小黄"
);
//修改小明的年龄为19岁
$person_info["19"] = $person_info["18"];
unset($person_info["18"]);
print_r($person_info);
以上代码中,我们首先把小明的年龄从 18 改为 19,然后通过 unset 函数删除原来的 18 下标的元素。通过 print_r 函数输出修改后的数组元素,得到的结果如下:
Array
(
[19] => 小明
[22] => 小红
[30] => 小黄
)
修改关联数组中的值
关联数组中,元素是以字符串作为下标的。通过下标找到对应的值,就可以进行修改。假设我们有一个保存人员信息的数组,以姓名为数组下标的关联数组,那么可以通过以下方式修改某一个人的年龄:
//定义关联数组,以姓名作为数组下标
$person_info = array(
"小明" => "18",
"小红" => "22",
"小黄" => "30"
);
//修改小明的年龄为19岁
$person_info["小明"] = "19";
print_r($person_info);
以上代码中,我们直接通过修改下标为“小明”的元素的值,从而实现修改对应人员的年龄。通过 print_r 函数输出修改后的数组,得到的结果如下:
Array
(
[小明] => 19
[小红] => 22
[小黄] => 30
)
四、修改数组中多个元素的值
如果要修改数组中多个元素的值,则需要使用循环遍历数组的方式来实现。下面是一个示例代码,它是根据身高和体重计算出 BMI 并判断健康状况的示例,我们可以通过修改数组中不同人员的身高和体重来实现多个元素的修改:
//定义关联数组,以姓名作为数组下标
$person_info = array(
"小明" => array("height"=>175,"weight"=>75),
"小红" => array("height"=>165,"weight"=>55),
"小黄" => array("height"=>180,"weight"=>65)
);
//循环遍历数组,计算BMI并输出
foreach ($person_info as $name => $value) {
$bmi = $value["weight"] / (($value["height"]/100) * ($value["height"]/100));
echo $name."的BMI为:".$bmi.",“健康状况”为:";
if ($bmi < 18.5) {
echo "体重过轻
";
} elseif ($bmi >= 18.5 && $bmi < 24) {
echo "健康体重
";
} elseif ($bmi >= 24 && $bmi < 28) {
echo "超重
";
} else {
echo "肥胖
";
}
}
//修改小明的身高和体重
$person_info["小明"]["height"] = 180;
$person_info["小明"]["weight"] = 80;
echo "
修改后的小明的数据为:
";
print_r($person_info["小明"]);
以上代码中,首先定义了一个多维数组,保存了不同人员的身高和体重。通过循环遍历数组,计算出对应人员的 BMI 值并输出。之后,我们修改了小明的身高和体重,然后通过 print_r 函数输出修改后小明的身高和体重,得到的结果如下:
小明的BMI为:24.489795918367,"健康状况"为:超重
小红的BMI为:20.20202020202,"健康状况"为:健康体重
小黄的BMI为:20.061728395062,"健康状况"为:健康体重
修改后的小明的数据为:
Array
(
[height] => 180
[weight] => 80
)